// bslfmt_formatterunicodedata.cpp                                    -*-C++-*-
#include <bslfmt_formatterunicodedata.h>

#include <bsls_ident.h>
BSLS_IDENT_RCSID(bslfmt_formatterunicodedata_cpp, "$Id$ $CSID$")

namespace BloombergLP {
namespace bslfmt {

// ============================================================================
//                     MACHINE-GENERATED DATA GOES HERE
// ============================================================================

// WARNING, this file is generated by bslfmt_gen_unicode_data.py

// DO NOT MODIFY!

// The following static data tables are generated from the Unicode character
// database.
//
// s_graphemeBreakCategoryRanges comes from
//                                     ucd/auxiliary/GraphemeBreakProperty.txt.
//
// s_extendedPictographicRanges comes from ucd/emoji/emoji-data.txt.
//
// s_printableRanges comes from ucd/extracted/DerivedGeneralCategory.txt.
//
// s_graphemeExtendRanges comes from ucd/DerivedCoreProperties.txt.
//
// s_doubleFieldWidthRanges comes from ucd/EastAsianWidth.txt.
//
// Codepoint ranges may not overlap, and, within one property, a codepoint may
// only appear once.  Furthermore, the codepoint lower bounds appear in sorted
// (ascending) order.

// GraphemeBreakProperty-16.0.0.txt
// Date: 2024-05-31, 18:09:38 GMT
const FormatterUnicodeData::GraphemeBreakCategoryRange
    FormatterUnicodeData::s_graphemeBreakCategoryRanges[] = {
        {     0x0,     0x9, e_CONTROL},
        {     0xa,     0xa, e_LF},
        {     0xb,     0xc, e_CONTROL},
        {     0xd,     0xd, e_CR},
        {     0xe,    0x1f, e_CONTROL},
        {    0x7f,    0x9f, e_CONTROL},
        {    0xad,    0xad, e_CONTROL},
        {   0x300,   0x36f, e_EXTEND},
        {   0x483,   0x489, e_EXTEND},
        {   0x591,   0x5bd, e_EXTEND},
        {   0x5bf,   0x5bf, e_EXTEND},
        {   0x5c1,   0x5c2, e_EXTEND},
        {   0x5c4,   0x5c5, e_EXTEND},
        {   0x5c7,   0x5c7, e_EXTEND},
        {   0x600,   0x605, e_PREPEND},
        {   0x610,   0x61a, e_EXTEND},
        {   0x61c,   0x61c, e_CONTROL},
        {   0x64b,   0x65f, e_EXTEND},
        {   0x670,   0x670, e_EXTEND},
        {   0x6d6,   0x6dc, e_EXTEND},
        {   0x6dd,   0x6dd, e_PREPEND},
        {   0x6df,   0x6e4, e_EXTEND},
        {   0x6e7,   0x6e8, e_EXTEND},
        {   0x6ea,   0x6ed, e_EXTEND},
        {   0x70f,   0x70f, e_PREPEND},
        {   0x711,   0x711, e_EXTEND},
        {   0x730,   0x74a, e_EXTEND},
        {   0x7a6,   0x7b0, e_EXTEND},
        {   0x7eb,   0x7f3, e_EXTEND},
        {   0x7fd,   0x7fd, e_EXTEND},
        {   0x816,   0x819, e_EXTEND},
        {   0x81b,   0x823, e_EXTEND},
        {   0x825,   0x827, e_EXTEND},
        {   0x829,   0x82d, e_EXTEND},
        {   0x859,   0x85b, e_EXTEND},
        {   0x890,   0x891, e_PREPEND},
        {   0x897,   0x89f, e_EXTEND},
        {   0x8ca,   0x8e1, e_EXTEND},
        {   0x8e2,   0x8e2, e_PREPEND},
        {   0x8e3,   0x902, e_EXTEND},
        {   0x903,   0x903, e_SPACING_MARK},
        {   0x93a,   0x93a, e_EXTEND},
        {   0x93b,   0x93b, e_SPACING_MARK},
        {   0x93c,   0x93c, e_EXTEND},
        {   0x93e,   0x940, e_SPACING_MARK},
        {   0x941,   0x948, e_EXTEND},
        {   0x949,   0x94c, e_SPACING_MARK},
        {   0x94d,   0x94d, e_EXTEND},
        {   0x94e,   0x94f, e_SPACING_MARK},
        {   0x951,   0x957, e_EXTEND},
        {   0x962,   0x963, e_EXTEND},
        {   0x981,   0x981, e_EXTEND},
        {   0x982,   0x983, e_SPACING_MARK},
        {   0x9bc,   0x9bc, e_EXTEND},
        {   0x9be,   0x9be, e_EXTEND},
        {   0x9bf,   0x9c0, e_SPACING_MARK},
        {   0x9c1,   0x9c4, e_EXTEND},
        {   0x9c7,   0x9c8, e_SPACING_MARK},
        {   0x9cb,   0x9cc, e_SPACING_MARK},
        {   0x9cd,   0x9cd, e_EXTEND},
        {   0x9d7,   0x9d7, e_EXTEND},
        {   0x9e2,   0x9e3, e_EXTEND},
        {   0x9fe,   0x9fe, e_EXTEND},
        {   0xa01,   0xa02, e_EXTEND},
        {   0xa03,   0xa03, e_SPACING_MARK},
        {   0xa3c,   0xa3c, e_EXTEND},
        {   0xa3e,   0xa40, e_SPACING_MARK},
        {   0xa41,   0xa42, e_EXTEND},
        {   0xa47,   0xa48, e_EXTEND},
        {   0xa4b,   0xa4d, e_EXTEND},
        {   0xa51,   0xa51, e_EXTEND},
        {   0xa70,   0xa71, e_EXTEND},
        {   0xa75,   0xa75, e_EXTEND},
        {   0xa81,   0xa82, e_EXTEND},
        {   0xa83,   0xa83, e_SPACING_MARK},
        {   0xabc,   0xabc, e_EXTEND},
        {   0xabe,   0xac0, e_SPACING_MARK},
        {   0xac1,   0xac5, e_EXTEND},
        {   0xac7,   0xac8, e_EXTEND},
        {   0xac9,   0xac9, e_SPACING_MARK},
        {   0xacb,   0xacc, e_SPACING_MARK},
        {   0xacd,   0xacd, e_EXTEND},
        {   0xae2,   0xae3, e_EXTEND},
        {   0xafa,   0xaff, e_EXTEND},
        {   0xb01,   0xb01, e_EXTEND},
        {   0xb02,   0xb03, e_SPACING_MARK},
        {   0xb3c,   0xb3c, e_EXTEND},
        {   0xb3e,   0xb3f, e_EXTEND},
        {   0xb40,   0xb40, e_SPACING_MARK},
        {   0xb41,   0xb44, e_EXTEND},
        {   0xb47,   0xb48, e_SPACING_MARK},
        {   0xb4b,   0xb4c, e_SPACING_MARK},
        {   0xb4d,   0xb4d, e_EXTEND},
        {   0xb55,   0xb57, e_EXTEND},
        {   0xb62,   0xb63, e_EXTEND},
        {   0xb82,   0xb82, e_EXTEND},
        {   0xbbe,   0xbbe, e_EXTEND},
        {   0xbbf,   0xbbf, e_SPACING_MARK},
        {   0xbc0,   0xbc0, e_EXTEND},
        {   0xbc1,   0xbc2, e_SPACING_MARK},
        {   0xbc6,   0xbc8, e_SPACING_MARK},
        {   0xbca,   0xbcc, e_SPACING_MARK},
        {   0xbcd,   0xbcd, e_EXTEND},
        {   0xbd7,   0xbd7, e_EXTEND},
        {   0xc00,   0xc00, e_EXTEND},
        {   0xc01,   0xc03, e_SPACING_MARK},
        {   0xc04,   0xc04, e_EXTEND},
        {   0xc3c,   0xc3c, e_EXTEND},
        {   0xc3e,   0xc40, e_EXTEND},
        {   0xc41,   0xc44, e_SPACING_MARK},
        {   0xc46,   0xc48, e_EXTEND},
        {   0xc4a,   0xc4d, e_EXTEND},
        {   0xc55,   0xc56, e_EXTEND},
        {   0xc62,   0xc63, e_EXTEND},
        {   0xc81,   0xc81, e_EXTEND},
        {   0xc82,   0xc83, e_SPACING_MARK},
        {   0xcbc,   0xcbc, e_EXTEND},
        {   0xcbe,   0xcbe, e_SPACING_MARK},
        {   0xcbf,   0xcc0, e_EXTEND},
        {   0xcc1,   0xcc1, e_SPACING_MARK},
        {   0xcc2,   0xcc2, e_EXTEND},
        {   0xcc3,   0xcc4, e_SPACING_MARK},
        {   0xcc6,   0xcc8, e_EXTEND},
        {   0xcca,   0xccd, e_EXTEND},
        {   0xcd5,   0xcd6, e_EXTEND},
        {   0xce2,   0xce3, e_EXTEND},
        {   0xcf3,   0xcf3, e_SPACING_MARK},
        {   0xd00,   0xd01, e_EXTEND},
        {   0xd02,   0xd03, e_SPACING_MARK},
        {   0xd3b,   0xd3c, e_EXTEND},
        {   0xd3e,   0xd3e, e_EXTEND},
        {   0xd3f,   0xd40, e_SPACING_MARK},
        {   0xd41,   0xd44, e_EXTEND},
        {   0xd46,   0xd48, e_SPACING_MARK},
        {   0xd4a,   0xd4c, e_SPACING_MARK},
        {   0xd4d,   0xd4d, e_EXTEND},
        {   0xd4e,   0xd4e, e_PREPEND},
        {   0xd57,   0xd57, e_EXTEND},
        {   0xd62,   0xd63, e_EXTEND},
        {   0xd81,   0xd81, e_EXTEND},
        {   0xd82,   0xd83, e_SPACING_MARK},
        {   0xdca,   0xdca, e_EXTEND},
        {   0xdcf,   0xdcf, e_EXTEND},
        {   0xdd0,   0xdd1, e_SPACING_MARK},
        {   0xdd2,   0xdd4, e_EXTEND},
        {   0xdd6,   0xdd6, e_EXTEND},
        {   0xdd8,   0xdde, e_SPACING_MARK},
        {   0xddf,   0xddf, e_EXTEND},
        {   0xdf2,   0xdf3, e_SPACING_MARK},
        {   0xe31,   0xe31, e_EXTEND},
        {   0xe33,   0xe33, e_SPACING_MARK},
        {   0xe34,   0xe3a, e_EXTEND},
        {   0xe47,   0xe4e, e_EXTEND},
        {   0xeb1,   0xeb1, e_EXTEND},
        {   0xeb3,   0xeb3, e_SPACING_MARK},
        {   0xeb4,   0xebc, e_EXTEND},
        {   0xec8,   0xece, e_EXTEND},
        {   0xf18,   0xf19, e_EXTEND},
        {   0xf35,   0xf35, e_EXTEND},
        {   0xf37,   0xf37, e_EXTEND},
        {   0xf39,   0xf39, e_EXTEND},
        {   0xf3e,   0xf3f, e_SPACING_MARK},
        {   0xf71,   0xf7e, e_EXTEND},
        {   0xf7f,   0xf7f, e_SPACING_MARK},
        {   0xf80,   0xf84, e_EXTEND},
        {   0xf86,   0xf87, e_EXTEND},
        {   0xf8d,   0xf97, e_EXTEND},
        {   0xf99,   0xfbc, e_EXTEND},
        {   0xfc6,   0xfc6, e_EXTEND},
        {  0x102d,  0x1030, e_EXTEND},
        {  0x1031,  0x1031, e_SPACING_MARK},
        {  0x1032,  0x1037, e_EXTEND},
        {  0x1039,  0x103a, e_EXTEND},
        {  0x103b,  0x103c, e_SPACING_MARK},
        {  0x103d,  0x103e, e_EXTEND},
        {  0x1056,  0x1057, e_SPACING_MARK},
        {  0x1058,  0x1059, e_EXTEND},
        {  0x105e,  0x1060, e_EXTEND},
        {  0x1071,  0x1074, e_EXTEND},
        {  0x1082,  0x1082, e_EXTEND},
        {  0x1084,  0x1084, e_SPACING_MARK},
        {  0x1085,  0x1086, e_EXTEND},
        {  0x108d,  0x108d, e_EXTEND},
        {  0x109d,  0x109d, e_EXTEND},
        {  0x1100,  0x115f, e_HANGUL_L},
        {  0x1160,  0x11a7, e_HANGUL_V},
        {  0x11a8,  0x11ff, e_HANGUL_T},
        {  0x135d,  0x135f, e_EXTEND},
        {  0x1712,  0x1715, e_EXTEND},
        {  0x1732,  0x1734, e_EXTEND},
        {  0x1752,  0x1753, e_EXTEND},
        {  0x1772,  0x1773, e_EXTEND},
        {  0x17b4,  0x17b5, e_EXTEND},
        {  0x17b6,  0x17b6, e_SPACING_MARK},
        {  0x17b7,  0x17bd, e_EXTEND},
        {  0x17be,  0x17c5, e_SPACING_MARK},
        {  0x17c6,  0x17c6, e_EXTEND},
        {  0x17c7,  0x17c8, e_SPACING_MARK},
        {  0x17c9,  0x17d3, e_EXTEND},
        {  0x17dd,  0x17dd, e_EXTEND},
        {  0x180b,  0x180d, e_EXTEND},
        {  0x180e,  0x180e, e_CONTROL},
        {  0x180f,  0x180f, e_EXTEND},
        {  0x1885,  0x1886, e_EXTEND},
        {  0x18a9,  0x18a9, e_EXTEND},
        {  0x1920,  0x1922, e_EXTEND},
        {  0x1923,  0x1926, e_SPACING_MARK},
        {  0x1927,  0x1928, e_EXTEND},
        {  0x1929,  0x192b, e_SPACING_MARK},
        {  0x1930,  0x1931, e_SPACING_MARK},
        {  0x1932,  0x1932, e_EXTEND},
        {  0x1933,  0x1938, e_SPACING_MARK},
        {  0x1939,  0x193b, e_EXTEND},
        {  0x1a17,  0x1a18, e_EXTEND},
        {  0x1a19,  0x1a1a, e_SPACING_MARK},
        {  0x1a1b,  0x1a1b, e_EXTEND},
        {  0x1a55,  0x1a55, e_SPACING_MARK},
        {  0x1a56,  0x1a56, e_EXTEND},
        {  0x1a57,  0x1a57, e_SPACING_MARK},
        {  0x1a58,  0x1a5e, e_EXTEND},
        {  0x1a60,  0x1a60, e_EXTEND},
        {  0x1a62,  0x1a62, e_EXTEND},
        {  0x1a65,  0x1a6c, e_EXTEND},
        {  0x1a6d,  0x1a72, e_SPACING_MARK},
        {  0x1a73,  0x1a7c, e_EXTEND},
        {  0x1a7f,  0x1a7f, e_EXTEND},
        {  0x1ab0,  0x1ace, e_EXTEND},
        {  0x1b00,  0x1b03, e_EXTEND},
        {  0x1b04,  0x1b04, e_SPACING_MARK},
        {  0x1b34,  0x1b3d, e_EXTEND},
        {  0x1b3e,  0x1b41, e_SPACING_MARK},
        {  0x1b42,  0x1b44, e_EXTEND},
        {  0x1b6b,  0x1b73, e_EXTEND},
        {  0x1b80,  0x1b81, e_EXTEND},
        {  0x1b82,  0x1b82, e_SPACING_MARK},
        {  0x1ba1,  0x1ba1, e_SPACING_MARK},
        {  0x1ba2,  0x1ba5, e_EXTEND},
        {  0x1ba6,  0x1ba7, e_SPACING_MARK},
        {  0x1ba8,  0x1bad, e_EXTEND},
        {  0x1be6,  0x1be6, e_EXTEND},
        {  0x1be7,  0x1be7, e_SPACING_MARK},
        {  0x1be8,  0x1be9, e_EXTEND},
        {  0x1bea,  0x1bec, e_SPACING_MARK},
        {  0x1bed,  0x1bed, e_EXTEND},
        {  0x1bee,  0x1bee, e_SPACING_MARK},
        {  0x1bef,  0x1bf3, e_EXTEND},
        {  0x1c24,  0x1c2b, e_SPACING_MARK},
        {  0x1c2c,  0x1c33, e_EXTEND},
        {  0x1c34,  0x1c35, e_SPACING_MARK},
        {  0x1c36,  0x1c37, e_EXTEND},
        {  0x1cd0,  0x1cd2, e_EXTEND},
        {  0x1cd4,  0x1ce0, e_EXTEND},
        {  0x1ce1,  0x1ce1, e_SPACING_MARK},
        {  0x1ce2,  0x1ce8, e_EXTEND},
        {  0x1ced,  0x1ced, e_EXTEND},
        {  0x1cf4,  0x1cf4, e_EXTEND},
        {  0x1cf7,  0x1cf7, e_SPACING_MARK},
        {  0x1cf8,  0x1cf9, e_EXTEND},
        {  0x1dc0,  0x1dff, e_EXTEND},
        {  0x200b,  0x200b, e_CONTROL},
        {  0x200c,  0x200c, e_EXTEND},
        {  0x200d,  0x200d, e_ZERO_WIDTH_JOINER},
        {  0x200e,  0x200f, e_CONTROL},
        {  0x2028,  0x202e, e_CONTROL},
        {  0x2060,  0x206f, e_CONTROL},
        {  0x20d0,  0x20f0, e_EXTEND},
        {  0x2cef,  0x2cf1, e_EXTEND},
        {  0x2d7f,  0x2d7f, e_EXTEND},
        {  0x2de0,  0x2dff, e_EXTEND},
        {  0x302a,  0x302f, e_EXTEND},
        {  0x3099,  0x309a, e_EXTEND},
        {  0xa66f,  0xa672, e_EXTEND},
        {  0xa674,  0xa67d, e_EXTEND},
        {  0xa69e,  0xa69f, e_EXTEND},
        {  0xa6f0,  0xa6f1, e_EXTEND},
        {  0xa802,  0xa802, e_EXTEND},
        {  0xa806,  0xa806, e_EXTEND},
        {  0xa80b,  0xa80b, e_EXTEND},
        {  0xa823,  0xa824, e_SPACING_MARK},
        {  0xa825,  0xa826, e_EXTEND},
        {  0xa827,  0xa827, e_SPACING_MARK},
        {  0xa82c,  0xa82c, e_EXTEND},
        {  0xa880,  0xa881, e_SPACING_MARK},
        {  0xa8b4,  0xa8c3, e_SPACING_MARK},
        {  0xa8c4,  0xa8c5, e_EXTEND},
        {  0xa8e0,  0xa8f1, e_EXTEND},
        {  0xa8ff,  0xa8ff, e_EXTEND},
        {  0xa926,  0xa92d, e_EXTEND},
        {  0xa947,  0xa951, e_EXTEND},
        {  0xa952,  0xa952, e_SPACING_MARK},
        {  0xa953,  0xa953, e_EXTEND},
        {  0xa960,  0xa97c, e_HANGUL_L},
        {  0xa980,  0xa982, e_EXTEND},
        {  0xa983,  0xa983, e_SPACING_MARK},
        {  0xa9b3,  0xa9b3, e_EXTEND},
        {  0xa9b4,  0xa9b5, e_SPACING_MARK},
        {  0xa9b6,  0xa9b9, e_EXTEND},
        {  0xa9ba,  0xa9bb, e_SPACING_MARK},
        {  0xa9bc,  0xa9bd, e_EXTEND},
        {  0xa9be,  0xa9bf, e_SPACING_MARK},
        {  0xa9c0,  0xa9c0, e_EXTEND},
        {  0xa9e5,  0xa9e5, e_EXTEND},
        {  0xaa29,  0xaa2e, e_EXTEND},
        {  0xaa2f,  0xaa30, e_SPACING_MARK},
        {  0xaa31,  0xaa32, e_EXTEND},
        {  0xaa33,  0xaa34, e_SPACING_MARK},
        {  0xaa35,  0xaa36, e_EXTEND},
        {  0xaa43,  0xaa43, e_EXTEND},
        {  0xaa4c,  0xaa4c, e_EXTEND},
        {  0xaa4d,  0xaa4d, e_SPACING_MARK},
        {  0xaa7c,  0xaa7c, e_EXTEND},
        {  0xaab0,  0xaab0, e_EXTEND},
        {  0xaab2,  0xaab4, e_EXTEND},
        {  0xaab7,  0xaab8, e_EXTEND},
        {  0xaabe,  0xaabf, e_EXTEND},
        {  0xaac1,  0xaac1, e_EXTEND},
        {  0xaaeb,  0xaaeb, e_SPACING_MARK},
        {  0xaaec,  0xaaed, e_EXTEND},
        {  0xaaee,  0xaaef, e_SPACING_MARK},
        {  0xaaf5,  0xaaf5, e_SPACING_MARK},
        {  0xaaf6,  0xaaf6, e_EXTEND},
        {  0xabe3,  0xabe4, e_SPACING_MARK},
        {  0xabe5,  0xabe5, e_EXTEND},
        {  0xabe6,  0xabe7, e_SPACING_MARK},
        {  0xabe8,  0xabe8, e_EXTEND},
        {  0xabe9,  0xabea, e_SPACING_MARK},
        {  0xabec,  0xabec, e_SPACING_MARK},
        {  0xabed,  0xabed, e_EXTEND},
        {  0xac00,  0xac00, e_HANGUL_LV},
        {  0xac01,  0xac1b, e_HANGUL_LVT},
        {  0xac1c,  0xac1c, e_HANGUL_LV},
        {  0xac1d,  0xac37, e_HANGUL_LVT},
        {  0xac38,  0xac38, e_HANGUL_LV},
        {  0xac39,  0xac53, e_HANGUL_LVT},
        {  0xac54,  0xac54, e_HANGUL_LV},
        {  0xac55,  0xac6f, e_HANGUL_LVT},
        {  0xac70,  0xac70, e_HANGUL_LV},
        {  0xac71,  0xac8b, e_HANGUL_LVT},
        {  0xac8c,  0xac8c, e_HANGUL_LV},
        {  0xac8d,  0xaca7, e_HANGUL_LVT},
        {  0xaca8,  0xaca8, e_HANGUL_LV},
        {  0xaca9,  0xacc3, e_HANGUL_LVT},
        {  0xacc4,  0xacc4, e_HANGUL_LV},
        {  0xacc5,  0xacdf, e_HANGUL_LVT},
        {  0xace0,  0xace0, e_HANGUL_LV},
        {  0xace1,  0xacfb, e_HANGUL_LVT},
        {  0xacfc,  0xacfc, e_HANGUL_LV},
        {  0xacfd,  0xad17, e_HANGUL_LVT},
        {  0xad18,  0xad18, e_HANGUL_LV},
        {  0xad19,  0xad33, e_HANGUL_LVT},
        {  0xad34,  0xad34, e_HANGUL_LV},
        {  0xad35,  0xad4f, e_HANGUL_LVT},
        {  0xad50,  0xad50, e_HANGUL_LV},
        {  0xad51,  0xad6b, e_HANGUL_LVT},
        {  0xad6c,  0xad6c, e_HANGUL_LV},
        {  0xad6d,  0xad87, e_HANGUL_LVT},
        {  0xad88,  0xad88, e_HANGUL_LV},
        {  0xad89,  0xada3, e_HANGUL_LVT},
        {  0xada4,  0xada4, e_HANGUL_LV},
        {  0xada5,  0xadbf, e_HANGUL_LVT},
        {  0xadc0,  0xadc0, e_HANGUL_LV},
        {  0xadc1,  0xaddb, e_HANGUL_LVT},
        {  0xaddc,  0xaddc, e_HANGUL_LV},
        {  0xaddd,  0xadf7, e_HANGUL_LVT},
        {  0xadf8,  0xadf8, e_HANGUL_LV},
        {  0xadf9,  0xae13, e_HANGUL_LVT},
        {  0xae14,  0xae14, e_HANGUL_LV},
        {  0xae15,  0xae2f, e_HANGUL_LVT},
        {  0xae30,  0xae30, e_HANGUL_LV},
        {  0xae31,  0xae4b, e_HANGUL_LVT},
        {  0xae4c,  0xae4c, e_HANGUL_LV},
        {  0xae4d,  0xae67, e_HANGUL_LVT},
        {  0xae68,  0xae68, e_HANGUL_LV},
        {  0xae69,  0xae83, e_HANGUL_LVT},
        {  0xae84,  0xae84, e_HANGUL_LV},
        {  0xae85,  0xae9f, e_HANGUL_LVT},
        {  0xaea0,  0xaea0, e_HANGUL_LV},
        {  0xaea1,  0xaebb, e_HANGUL_LVT},
        {  0xaebc,  0xaebc, e_HANGUL_LV},
        {  0xaebd,  0xaed7, e_HANGUL_LVT},
        {  0xaed8,  0xaed8, e_HANGUL_LV},
        {  0xaed9,  0xaef3, e_HANGUL_LVT},
        {  0xaef4,  0xaef4, e_HANGUL_LV},
        {  0xaef5,  0xaf0f, e_HANGUL_LVT},
        {  0xaf10,  0xaf10, e_HANGUL_LV},
        {  0xaf11,  0xaf2b, e_HANGUL_LVT},
        {  0xaf2c,  0xaf2c, e_HANGUL_LV},
        {  0xaf2d,  0xaf47, e_HANGUL_LVT},
        {  0xaf48,  0xaf48, e_HANGUL_LV},
        {  0xaf49,  0xaf63, e_HANGUL_LVT},
        {  0xaf64,  0xaf64, e_HANGUL_LV},
        {  0xaf65,  0xaf7f, e_HANGUL_LVT},
        {  0xaf80,  0xaf80, e_HANGUL_LV},
        {  0xaf81,  0xaf9b, e_HANGUL_LVT},
        {  0xaf9c,  0xaf9c, e_HANGUL_LV},
        {  0xaf9d,  0xafb7, e_HANGUL_LVT},
        {  0xafb8,  0xafb8, e_HANGUL_LV},
        {  0xafb9,  0xafd3, e_HANGUL_LVT},
        {  0xafd4,  0xafd4, e_HANGUL_LV},
        {  0xafd5,  0xafef, e_HANGUL_LVT},
        {  0xaff0,  0xaff0, e_HANGUL_LV},
        {  0xaff1,  0xb00b, e_HANGUL_LVT},
        {  0xb00c,  0xb00c, e_HANGUL_LV},
        {  0xb00d,  0xb027, e_HANGUL_LVT},
        {  0xb028,  0xb028, e_HANGUL_LV},
        {  0xb029,  0xb043, e_HANGUL_LVT},
        {  0xb044,  0xb044, e_HANGUL_LV},
        {  0xb045,  0xb05f, e_HANGUL_LVT},
        {  0xb060,  0xb060, e_HANGUL_LV},
        {  0xb061,  0xb07b, e_HANGUL_LVT},
        {  0xb07c,  0xb07c, e_HANGUL_LV},
        {  0xb07d,  0xb097, e_HANGUL_LVT},
        {  0xb098,  0xb098, e_HANGUL_LV},
        {  0xb099,  0xb0b3, e_HANGUL_LVT},
        {  0xb0b4,  0xb0b4, e_HANGUL_LV},
        {  0xb0b5,  0xb0cf, e_HANGUL_LVT},
        {  0xb0d0,  0xb0d0, e_HANGUL_LV},
        {  0xb0d1,  0xb0eb, e_HANGUL_LVT},
        {  0xb0ec,  0xb0ec, e_HANGUL_LV},
        {  0xb0ed,  0xb107, e_HANGUL_LVT},
        {  0xb108,  0xb108, e_HANGUL_LV},
        {  0xb109,  0xb123, e_HANGUL_LVT},
        {  0xb124,  0xb124, e_HANGUL_LV},
        {  0xb125,  0xb13f, e_HANGUL_LVT},
        {  0xb140,  0xb140, e_HANGUL_LV},
        {  0xb141,  0xb15b, e_HANGUL_LVT},
        {  0xb15c,  0xb15c, e_HANGUL_LV},
        {  0xb15d,  0xb177, e_HANGUL_LVT},
        {  0xb178,  0xb178, e_HANGUL_LV},
        {  0xb179,  0xb193, e_HANGUL_LVT},
        {  0xb194,  0xb194, e_HANGUL_LV},
        {  0xb195,  0xb1af, e_HANGUL_LVT},
        {  0xb1b0,  0xb1b0, e_HANGUL_LV},
        {  0xb1b1,  0xb1cb, e_HANGUL_LVT},
        {  0xb1cc,  0xb1cc, e_HANGUL_LV},
        {  0xb1cd,  0xb1e7, e_HANGUL_LVT},
        {  0xb1e8,  0xb1e8, e_HANGUL_LV},
        {  0xb1e9,  0xb203, e_HANGUL_LVT},
        {  0xb204,  0xb204, e_HANGUL_LV},
        {  0xb205,  0xb21f, e_HANGUL_LVT},
        {  0xb220,  0xb220, e_HANGUL_LV},
        {  0xb221,  0xb23b, e_HANGUL_LVT},
        {  0xb23c,  0xb23c, e_HANGUL_LV},
        {  0xb23d,  0xb257, e_HANGUL_LVT},
        {  0xb258,  0xb258, e_HANGUL_LV},
        {  0xb259,  0xb273, e_HANGUL_LVT},
        {  0xb274,  0xb274, e_HANGUL_LV},
        {  0xb275,  0xb28f, e_HANGUL_LVT},
        {  0xb290,  0xb290, e_HANGUL_LV},
        {  0xb291,  0xb2ab, e_HANGUL_LVT},
        {  0xb2ac,  0xb2ac, e_HANGUL_LV},
        {  0xb2ad,  0xb2c7, e_HANGUL_LVT},
        {  0xb2c8,  0xb2c8, e_HANGUL_LV},
        {  0xb2c9,  0xb2e3, e_HANGUL_LVT},
        {  0xb2e4,  0xb2e4, e_HANGUL_LV},
        {  0xb2e5,  0xb2ff, e_HANGUL_LVT},
        {  0xb300,  0xb300, e_HANGUL_LV},
        {  0xb301,  0xb31b, e_HANGUL_LVT},
        {  0xb31c,  0xb31c, e_HANGUL_LV},
        {  0xb31d,  0xb337, e_HANGUL_LVT},
        {  0xb338,  0xb338, e_HANGUL_LV},
        {  0xb339,  0xb353, e_HANGUL_LVT},
        {  0xb354,  0xb354, e_HANGUL_LV},
        {  0xb355,  0xb36f, e_HANGUL_LVT},
        {  0xb370,  0xb370, e_HANGUL_LV},
        {  0xb371,  0xb38b, e_HANGUL_LVT},
        {  0xb38c,  0xb38c, e_HANGUL_LV},
        {  0xb38d,  0xb3a7, e_HANGUL_LVT},
        {  0xb3a8,  0xb3a8, e_HANGUL_LV},
        {  0xb3a9,  0xb3c3, e_HANGUL_LVT},
        {  0xb3c4,  0xb3c4, e_HANGUL_LV},
        {  0xb3c5,  0xb3df, e_HANGUL_LVT},
        {  0xb3e0,  0xb3e0, e_HANGUL_LV},
        {  0xb3e1,  0xb3fb, e_HANGUL_LVT},
        {  0xb3fc,  0xb3fc, e_HANGUL_LV},
        {  0xb3fd,  0xb417, e_HANGUL_LVT},
        {  0xb418,  0xb418, e_HANGUL_LV},
        {  0xb419,  0xb433, e_HANGUL_LVT},
        {  0xb434,  0xb434, e_HANGUL_LV},
        {  0xb435,  0xb44f, e_HANGUL_LVT},
        {  0xb450,  0xb450, e_HANGUL_LV},
        {  0xb451,  0xb46b, e_HANGUL_LVT},
        {  0xb46c,  0xb46c, e_HANGUL_LV},
        {  0xb46d,  0xb487, e_HANGUL_LVT},
        {  0xb488,  0xb488, e_HANGUL_LV},
        {  0xb489,  0xb4a3, e_HANGUL_LVT},
        {  0xb4a4,  0xb4a4, e_HANGUL_LV},
        {  0xb4a5,  0xb4bf, e_HANGUL_LVT},
        {  0xb4c0,  0xb4c0, e_HANGUL_LV},
        {  0xb4c1,  0xb4db, e_HANGUL_LVT},
        {  0xb4dc,  0xb4dc, e_HANGUL_LV},
        {  0xb4dd,  0xb4f7, e_HANGUL_LVT},
        {  0xb4f8,  0xb4f8, e_HANGUL_LV},
        {  0xb4f9,  0xb513, e_HANGUL_LVT},
        {  0xb514,  0xb514, e_HANGUL_LV},
        {  0xb515,  0xb52f, e_HANGUL_LVT},
        {  0xb530,  0xb530, e_HANGUL_LV},
        {  0xb531,  0xb54b, e_HANGUL_LVT},
        {  0xb54c,  0xb54c, e_HANGUL_LV},
        {  0xb54d,  0xb567, e_HANGUL_LVT},
        {  0xb568,  0xb568, e_HANGUL_LV},
        {  0xb569,  0xb583, e_HANGUL_LVT},
        {  0xb584,  0xb584, e_HANGUL_LV},
        {  0xb585,  0xb59f, e_HANGUL_LVT},
        {  0xb5a0,  0xb5a0, e_HANGUL_LV},
        {  0xb5a1,  0xb5bb, e_HANGUL_LVT},
        {  0xb5bc,  0xb5bc, e_HANGUL_LV},
        {  0xb5bd,  0xb5d7, e_HANGUL_LVT},
        {  0xb5d8,  0xb5d8, e_HANGUL_LV},
        {  0xb5d9,  0xb5f3, e_HANGUL_LVT},
        {  0xb5f4,  0xb5f4, e_HANGUL_LV},
        {  0xb5f5,  0xb60f, e_HANGUL_LVT},
        {  0xb610,  0xb610, e_HANGUL_LV},
        {  0xb611,  0xb62b, e_HANGUL_LVT},
        {  0xb62c,  0xb62c, e_HANGUL_LV},
        {  0xb62d,  0xb647, e_HANGUL_LVT},
        {  0xb648,  0xb648, e_HANGUL_LV},
        {  0xb649,  0xb663, e_HANGUL_LVT},
        {  0xb664,  0xb664, e_HANGUL_LV},
        {  0xb665,  0xb67f, e_HANGUL_LVT},
        {  0xb680,  0xb680, e_HANGUL_LV},
        {  0xb681,  0xb69b, e_HANGUL_LVT},
        {  0xb69c,  0xb69c, e_HANGUL_LV},
        {  0xb69d,  0xb6b7, e_HANGUL_LVT},
        {  0xb6b8,  0xb6b8, e_HANGUL_LV},
        {  0xb6b9,  0xb6d3, e_HANGUL_LVT},
        {  0xb6d4,  0xb6d4, e_HANGUL_LV},
        {  0xb6d5,  0xb6ef, e_HANGUL_LVT},
        {  0xb6f0,  0xb6f0, e_HANGUL_LV},
        {  0xb6f1,  0xb70b, e_HANGUL_LVT},
        {  0xb70c,  0xb70c, e_HANGUL_LV},
        {  0xb70d,  0xb727, e_HANGUL_LVT},
        {  0xb728,  0xb728, e_HANGUL_LV},
        {  0xb729,  0xb743, e_HANGUL_LVT},
        {  0xb744,  0xb744, e_HANGUL_LV},
        {  0xb745,  0xb75f, e_HANGUL_LVT},
        {  0xb760,  0xb760, e_HANGUL_LV},
        {  0xb761,  0xb77b, e_HANGUL_LVT},
        {  0xb77c,  0xb77c, e_HANGUL_LV},
        {  0xb77d,  0xb797, e_HANGUL_LVT},
        {  0xb798,  0xb798, e_HANGUL_LV},
        {  0xb799,  0xb7b3, e_HANGUL_LVT},
        {  0xb7b4,  0xb7b4, e_HANGUL_LV},
        {  0xb7b5,  0xb7cf, e_HANGUL_LVT},
        {  0xb7d0,  0xb7d0, e_HANGUL_LV},
        {  0xb7d1,  0xb7eb, e_HANGUL_LVT},
        {  0xb7ec,  0xb7ec, e_HANGUL_LV},
        {  0xb7ed,  0xb807, e_HANGUL_LVT},
        {  0xb808,  0xb808, e_HANGUL_LV},
        {  0xb809,  0xb823, e_HANGUL_LVT},
        {  0xb824,  0xb824, e_HANGUL_LV},
        {  0xb825,  0xb83f, e_HANGUL_LVT},
        {  0xb840,  0xb840, e_HANGUL_LV},
        {  0xb841,  0xb85b, e_HANGUL_LVT},
        {  0xb85c,  0xb85c, e_HANGUL_LV},
        {  0xb85d,  0xb877, e_HANGUL_LVT},
        {  0xb878,  0xb878, e_HANGUL_LV},
        {  0xb879,  0xb893, e_HANGUL_LVT},
        {  0xb894,  0xb894, e_HANGUL_LV},
        {  0xb895,  0xb8af, e_HANGUL_LVT},
        {  0xb8b0,  0xb8b0, e_HANGUL_LV},
        {  0xb8b1,  0xb8cb, e_HANGUL_LVT},
        {  0xb8cc,  0xb8cc, e_HANGUL_LV},
        {  0xb8cd,  0xb8e7, e_HANGUL_LVT},
        {  0xb8e8,  0xb8e8, e_HANGUL_LV},
        {  0xb8e9,  0xb903, e_HANGUL_LVT},
        {  0xb904,  0xb904, e_HANGUL_LV},
        {  0xb905,  0xb91f, e_HANGUL_LVT},
        {  0xb920,  0xb920, e_HANGUL_LV},
        {  0xb921,  0xb93b, e_HANGUL_LVT},
        {  0xb93c,  0xb93c, e_HANGUL_LV},
        {  0xb93d,  0xb957, e_HANGUL_LVT},
        {  0xb958,  0xb958, e_HANGUL_LV},
        {  0xb959,  0xb973, e_HANGUL_LVT},
        {  0xb974,  0xb974, e_HANGUL_LV},
        {  0xb975,  0xb98f, e_HANGUL_LVT},
        {  0xb990,  0xb990, e_HANGUL_LV},
        {  0xb991,  0xb9ab, e_HANGUL_LVT},
        {  0xb9ac,  0xb9ac, e_HANGUL_LV},
        {  0xb9ad,  0xb9c7, e_HANGUL_LVT},
        {  0xb9c8,  0xb9c8, e_HANGUL_LV},
        {  0xb9c9,  0xb9e3, e_HANGUL_LVT},
        {  0xb9e4,  0xb9e4, e_HANGUL_LV},
        {  0xb9e5,  0xb9ff, e_HANGUL_LVT},
        {  0xba00,  0xba00, e_HANGUL_LV},
        {  0xba01,  0xba1b, e_HANGUL_LVT},
        {  0xba1c,  0xba1c, e_HANGUL_LV},
        {  0xba1d,  0xba37, e_HANGUL_LVT},
        {  0xba38,  0xba38, e_HANGUL_LV},
        {  0xba39,  0xba53, e_HANGUL_LVT},
        {  0xba54,  0xba54, e_HANGUL_LV},
        {  0xba55,  0xba6f, e_HANGUL_LVT},
        {  0xba70,  0xba70, e_HANGUL_LV},
        {  0xba71,  0xba8b, e_HANGUL_LVT},
        {  0xba8c,  0xba8c, e_HANGUL_LV},
        {  0xba8d,  0xbaa7, e_HANGUL_LVT},
        {  0xbaa8,  0xbaa8, e_HANGUL_LV},
        {  0xbaa9,  0xbac3, e_HANGUL_LVT},
        {  0xbac4,  0xbac4, e_HANGUL_LV},
        {  0xbac5,  0xbadf, e_HANGUL_LVT},
        {  0xbae0,  0xbae0, e_HANGUL_LV},
        {  0xbae1,  0xbafb, e_HANGUL_LVT},
        {  0xbafc,  0xbafc, e_HANGUL_LV},
        {  0xbafd,  0xbb17, e_HANGUL_LVT},
        {  0xbb18,  0xbb18, e_HANGUL_LV},
        {  0xbb19,  0xbb33, e_HANGUL_LVT},
        {  0xbb34,  0xbb34, e_HANGUL_LV},
        {  0xbb35,  0xbb4f, e_HANGUL_LVT},
        {  0xbb50,  0xbb50, e_HANGUL_LV},
        {  0xbb51,  0xbb6b, e_HANGUL_LVT},
        {  0xbb6c,  0xbb6c, e_HANGUL_LV},
        {  0xbb6d,  0xbb87, e_HANGUL_LVT},
        {  0xbb88,  0xbb88, e_HANGUL_LV},
        {  0xbb89,  0xbba3, e_HANGUL_LVT},
        {  0xbba4,  0xbba4, e_HANGUL_LV},
        {  0xbba5,  0xbbbf, e_HANGUL_LVT},
        {  0xbbc0,  0xbbc0, e_HANGUL_LV},
        {  0xbbc1,  0xbbdb, e_HANGUL_LVT},
        {  0xbbdc,  0xbbdc, e_HANGUL_LV},
        {  0xbbdd,  0xbbf7, e_HANGUL_LVT},
        {  0xbbf8,  0xbbf8, e_HANGUL_LV},
        {  0xbbf9,  0xbc13, e_HANGUL_LVT},
        {  0xbc14,  0xbc14, e_HANGUL_LV},
        {  0xbc15,  0xbc2f, e_HANGUL_LVT},
        {  0xbc30,  0xbc30, e_HANGUL_LV},
        {  0xbc31,  0xbc4b, e_HANGUL_LVT},
        {  0xbc4c,  0xbc4c, e_HANGUL_LV},
        {  0xbc4d,  0xbc67, e_HANGUL_LVT},
        {  0xbc68,  0xbc68, e_HANGUL_LV},
        {  0xbc69,  0xbc83, e_HANGUL_LVT},
        {  0xbc84,  0xbc84, e_HANGUL_LV},
        {  0xbc85,  0xbc9f, e_HANGUL_LVT},
        {  0xbca0,  0xbca0, e_HANGUL_LV},
        {  0xbca1,  0xbcbb, e_HANGUL_LVT},
        {  0xbcbc,  0xbcbc, e_HANGUL_LV},
        {  0xbcbd,  0xbcd7, e_HANGUL_LVT},
        {  0xbcd8,  0xbcd8, e_HANGUL_LV},
        {  0xbcd9,  0xbcf3, e_HANGUL_LVT},
        {  0xbcf4,  0xbcf4, e_HANGUL_LV},
        {  0xbcf5,  0xbd0f, e_HANGUL_LVT},
        {  0xbd10,  0xbd10, e_HANGUL_LV},
        {  0xbd11,  0xbd2b, e_HANGUL_LVT},
        {  0xbd2c,  0xbd2c, e_HANGUL_LV},
        {  0xbd2d,  0xbd47, e_HANGUL_LVT},
        {  0xbd48,  0xbd48, e_HANGUL_LV},
        {  0xbd49,  0xbd63, e_HANGUL_LVT},
        {  0xbd64,  0xbd64, e_HANGUL_LV},
        {  0xbd65,  0xbd7f, e_HANGUL_LVT},
        {  0xbd80,  0xbd80, e_HANGUL_LV},
        {  0xbd81,  0xbd9b, e_HANGUL_LVT},
        {  0xbd9c,  0xbd9c, e_HANGUL_LV},
        {  0xbd9d,  0xbdb7, e_HANGUL_LVT},
        {  0xbdb8,  0xbdb8, e_HANGUL_LV},
        {  0xbdb9,  0xbdd3, e_HANGUL_LVT},
        {  0xbdd4,  0xbdd4, e_HANGUL_LV},
        {  0xbdd5,  0xbdef, e_HANGUL_LVT},
        {  0xbdf0,  0xbdf0, e_HANGUL_LV},
        {  0xbdf1,  0xbe0b, e_HANGUL_LVT},
        {  0xbe0c,  0xbe0c, e_HANGUL_LV},
        {  0xbe0d,  0xbe27, e_HANGUL_LVT},
        {  0xbe28,  0xbe28, e_HANGUL_LV},
        {  0xbe29,  0xbe43, e_HANGUL_LVT},
        {  0xbe44,  0xbe44, e_HANGUL_LV},
        {  0xbe45,  0xbe5f, e_HANGUL_LVT},
        {  0xbe60,  0xbe60, e_HANGUL_LV},
        {  0xbe61,  0xbe7b, e_HANGUL_LVT},
        {  0xbe7c,  0xbe7c, e_HANGUL_LV},
        {  0xbe7d,  0xbe97, e_HANGUL_LVT},
        {  0xbe98,  0xbe98, e_HANGUL_LV},
        {  0xbe99,  0xbeb3, e_HANGUL_LVT},
        {  0xbeb4,  0xbeb4, e_HANGUL_LV},
        {  0xbeb5,  0xbecf, e_HANGUL_LVT},
        {  0xbed0,  0xbed0, e_HANGUL_LV},
        {  0xbed1,  0xbeeb, e_HANGUL_LVT},
        {  0xbeec,  0xbeec, e_HANGUL_LV},
        {  0xbeed,  0xbf07, e_HANGUL_LVT},
        {  0xbf08,  0xbf08, e_HANGUL_LV},
        {  0xbf09,  0xbf23, e_HANGUL_LVT},
        {  0xbf24,  0xbf24, e_HANGUL_LV},
        {  0xbf25,  0xbf3f, e_HANGUL_LVT},
        {  0xbf40,  0xbf40, e_HANGUL_LV},
        {  0xbf41,  0xbf5b, e_HANGUL_LVT},
        {  0xbf5c,  0xbf5c, e_HANGUL_LV},
        {  0xbf5d,  0xbf77, e_HANGUL_LVT},
        {  0xbf78,  0xbf78, e_HANGUL_LV},
        {  0xbf79,  0xbf93, e_HANGUL_LVT},
        {  0xbf94,  0xbf94, e_HANGUL_LV},
        {  0xbf95,  0xbfaf, e_HANGUL_LVT},
        {  0xbfb0,  0xbfb0, e_HANGUL_LV},
        {  0xbfb1,  0xbfcb, e_HANGUL_LVT},
        {  0xbfcc,  0xbfcc, e_HANGUL_LV},
        {  0xbfcd,  0xbfe7, e_HANGUL_LVT},
        {  0xbfe8,  0xbfe8, e_HANGUL_LV},
        {  0xbfe9,  0xc003, e_HANGUL_LVT},
        {  0xc004,  0xc004, e_HANGUL_LV},
        {  0xc005,  0xc01f, e_HANGUL_LVT},
        {  0xc020,  0xc020, e_HANGUL_LV},
        {  0xc021,  0xc03b, e_HANGUL_LVT},
        {  0xc03c,  0xc03c, e_HANGUL_LV},
        {  0xc03d,  0xc057, e_HANGUL_LVT},
        {  0xc058,  0xc058, e_HANGUL_LV},
        {  0xc059,  0xc073, e_HANGUL_LVT},
        {  0xc074,  0xc074, e_HANGUL_LV},
        {  0xc075,  0xc08f, e_HANGUL_LVT},
        {  0xc090,  0xc090, e_HANGUL_LV},
        {  0xc091,  0xc0ab, e_HANGUL_LVT},
        {  0xc0ac,  0xc0ac, e_HANGUL_LV},
        {  0xc0ad,  0xc0c7, e_HANGUL_LVT},
        {  0xc0c8,  0xc0c8, e_HANGUL_LV},
        {  0xc0c9,  0xc0e3, e_HANGUL_LVT},
        {  0xc0e4,  0xc0e4, e_HANGUL_LV},
        {  0xc0e5,  0xc0ff, e_HANGUL_LVT},
        {  0xc100,  0xc100, e_HANGUL_LV},
        {  0xc101,  0xc11b, e_HANGUL_LVT},
        {  0xc11c,  0xc11c, e_HANGUL_LV},
        {  0xc11d,  0xc137, e_HANGUL_LVT},
        {  0xc138,  0xc138, e_HANGUL_LV},
        {  0xc139,  0xc153, e_HANGUL_LVT},
        {  0xc154,  0xc154, e_HANGUL_LV},
        {  0xc155,  0xc16f, e_HANGUL_LVT},
        {  0xc170,  0xc170, e_HANGUL_LV},
        {  0xc171,  0xc18b, e_HANGUL_LVT},
        {  0xc18c,  0xc18c, e_HANGUL_LV},
        {  0xc18d,  0xc1a7, e_HANGUL_LVT},
        {  0xc1a8,  0xc1a8, e_HANGUL_LV},
        {  0xc1a9,  0xc1c3, e_HANGUL_LVT},
        {  0xc1c4,  0xc1c4, e_HANGUL_LV},
        {  0xc1c5,  0xc1df, e_HANGUL_LVT},
        {  0xc1e0,  0xc1e0, e_HANGUL_LV},
        {  0xc1e1,  0xc1fb, e_HANGUL_LVT},
        {  0xc1fc,  0xc1fc, e_HANGUL_LV},
        {  0xc1fd,  0xc217, e_HANGUL_LVT},
        {  0xc218,  0xc218, e_HANGUL_LV},
        {  0xc219,  0xc233, e_HANGUL_LVT},
        {  0xc234,  0xc234, e_HANGUL_LV},
        {  0xc235,  0xc24f, e_HANGUL_LVT},
        {  0xc250,  0xc250, e_HANGUL_LV},
        {  0xc251,  0xc26b, e_HANGUL_LVT},
        {  0xc26c,  0xc26c, e_HANGUL_LV},
        {  0xc26d,  0xc287, e_HANGUL_LVT},
        {  0xc288,  0xc288, e_HANGUL_LV},
        {  0xc289,  0xc2a3, e_HANGUL_LVT},
        {  0xc2a4,  0xc2a4, e_HANGUL_LV},
        {  0xc2a5,  0xc2bf, e_HANGUL_LVT},
        {  0xc2c0,  0xc2c0, e_HANGUL_LV},
        {  0xc2c1,  0xc2db, e_HANGUL_LVT},
        {  0xc2dc,  0xc2dc, e_HANGUL_LV},
        {  0xc2dd,  0xc2f7, e_HANGUL_LVT},
        {  0xc2f8,  0xc2f8, e_HANGUL_LV},
        {  0xc2f9,  0xc313, e_HANGUL_LVT},
        {  0xc314,  0xc314, e_HANGUL_LV},
        {  0xc315,  0xc32f, e_HANGUL_LVT},
        {  0xc330,  0xc330, e_HANGUL_LV},
        {  0xc331,  0xc34b, e_HANGUL_LVT},
        {  0xc34c,  0xc34c, e_HANGUL_LV},
        {  0xc34d,  0xc367, e_HANGUL_LVT},
        {  0xc368,  0xc368, e_HANGUL_LV},
        {  0xc369,  0xc383, e_HANGUL_LVT},
        {  0xc384,  0xc384, e_HANGUL_LV},
        {  0xc385,  0xc39f, e_HANGUL_LVT},
        {  0xc3a0,  0xc3a0, e_HANGUL_LV},
        {  0xc3a1,  0xc3bb, e_HANGUL_LVT},
        {  0xc3bc,  0xc3bc, e_HANGUL_LV},
        {  0xc3bd,  0xc3d7, e_HANGUL_LVT},
        {  0xc3d8,  0xc3d8, e_HANGUL_LV},
        {  0xc3d9,  0xc3f3, e_HANGUL_LVT},
        {  0xc3f4,  0xc3f4, e_HANGUL_LV},
        {  0xc3f5,  0xc40f, e_HANGUL_LVT},
        {  0xc410,  0xc410, e_HANGUL_LV},
        {  0xc411,  0xc42b, e_HANGUL_LVT},
        {  0xc42c,  0xc42c, e_HANGUL_LV},
        {  0xc42d,  0xc447, e_HANGUL_LVT},
        {  0xc448,  0xc448, e_HANGUL_LV},
        {  0xc449,  0xc463, e_HANGUL_LVT},
        {  0xc464,  0xc464, e_HANGUL_LV},
        {  0xc465,  0xc47f, e_HANGUL_LVT},
        {  0xc480,  0xc480, e_HANGUL_LV},
        {  0xc481,  0xc49b, e_HANGUL_LVT},
        {  0xc49c,  0xc49c, e_HANGUL_LV},
        {  0xc49d,  0xc4b7, e_HANGUL_LVT},
        {  0xc4b8,  0xc4b8, e_HANGUL_LV},
        {  0xc4b9,  0xc4d3, e_HANGUL_LVT},
        {  0xc4d4,  0xc4d4, e_HANGUL_LV},
        {  0xc4d5,  0xc4ef, e_HANGUL_LVT},
        {  0xc4f0,  0xc4f0, e_HANGUL_LV},
        {  0xc4f1,  0xc50b, e_HANGUL_LVT},
        {  0xc50c,  0xc50c, e_HANGUL_LV},
        {  0xc50d,  0xc527, e_HANGUL_LVT},
        {  0xc528,  0xc528, e_HANGUL_LV},
        {  0xc529,  0xc543, e_HANGUL_LVT},
        {  0xc544,  0xc544, e_HANGUL_LV},
        {  0xc545,  0xc55f, e_HANGUL_LVT},
        {  0xc560,  0xc560, e_HANGUL_LV},
        {  0xc561,  0xc57b, e_HANGUL_LVT},
        {  0xc57c,  0xc57c, e_HANGUL_LV},
        {  0xc57d,  0xc597, e_HANGUL_LVT},
        {  0xc598,  0xc598, e_HANGUL_LV},
        {  0xc599,  0xc5b3, e_HANGUL_LVT},
        {  0xc5b4,  0xc5b4, e_HANGUL_LV},
        {  0xc5b5,  0xc5cf, e_HANGUL_LVT},
        {  0xc5d0,  0xc5d0, e_HANGUL_LV},
        {  0xc5d1,  0xc5eb, e_HANGUL_LVT},
        {  0xc5ec,  0xc5ec, e_HANGUL_LV},
        {  0xc5ed,  0xc607, e_HANGUL_LVT},
        {  0xc608,  0xc608, e_HANGUL_LV},
        {  0xc609,  0xc623, e_HANGUL_LVT},
        {  0xc624,  0xc624, e_HANGUL_LV},
        {  0xc625,  0xc63f, e_HANGUL_LVT},
        {  0xc640,  0xc640, e_HANGUL_LV},
        {  0xc641,  0xc65b, e_HANGUL_LVT},
        {  0xc65c,  0xc65c, e_HANGUL_LV},
        {  0xc65d,  0xc677, e_HANGUL_LVT},
        {  0xc678,  0xc678, e_HANGUL_LV},
        {  0xc679,  0xc693, e_HANGUL_LVT},
        {  0xc694,  0xc694, e_HANGUL_LV},
        {  0xc695,  0xc6af, e_HANGUL_LVT},
        {  0xc6b0,  0xc6b0, e_HANGUL_LV},
        {  0xc6b1,  0xc6cb, e_HANGUL_LVT},
        {  0xc6cc,  0xc6cc, e_HANGUL_LV},
        {  0xc6cd,  0xc6e7, e_HANGUL_LVT},
        {  0xc6e8,  0xc6e8, e_HANGUL_LV},
        {  0xc6e9,  0xc703, e_HANGUL_LVT},
        {  0xc704,  0xc704, e_HANGUL_LV},
        {  0xc705,  0xc71f, e_HANGUL_LVT},
        {  0xc720,  0xc720, e_HANGUL_LV},
        {  0xc721,  0xc73b, e_HANGUL_LVT},
        {  0xc73c,  0xc73c, e_HANGUL_LV},
        {  0xc73d,  0xc757, e_HANGUL_LVT},
        {  0xc758,  0xc758, e_HANGUL_LV},
        {  0xc759,  0xc773, e_HANGUL_LVT},
        {  0xc774,  0xc774, e_HANGUL_LV},
        {  0xc775,  0xc78f, e_HANGUL_LVT},
        {  0xc790,  0xc790, e_HANGUL_LV},
        {  0xc791,  0xc7ab, e_HANGUL_LVT},
        {  0xc7ac,  0xc7ac, e_HANGUL_LV},
        {  0xc7ad,  0xc7c7, e_HANGUL_LVT},
        {  0xc7c8,  0xc7c8, e_HANGUL_LV},
        {  0xc7c9,  0xc7e3, e_HANGUL_LVT},
        {  0xc7e4,  0xc7e4, e_HANGUL_LV},
        {  0xc7e5,  0xc7ff, e_HANGUL_LVT},
        {  0xc800,  0xc800, e_HANGUL_LV},
        {  0xc801,  0xc81b, e_HANGUL_LVT},
        {  0xc81c,  0xc81c, e_HANGUL_LV},
        {  0xc81d,  0xc837, e_HANGUL_LVT},
        {  0xc838,  0xc838, e_HANGUL_LV},
        {  0xc839,  0xc853, e_HANGUL_LVT},
        {  0xc854,  0xc854, e_HANGUL_LV},
        {  0xc855,  0xc86f, e_HANGUL_LVT},
        {  0xc870,  0xc870, e_HANGUL_LV},
        {  0xc871,  0xc88b, e_HANGUL_LVT},
        {  0xc88c,  0xc88c, e_HANGUL_LV},
        {  0xc88d,  0xc8a7, e_HANGUL_LVT},
        {  0xc8a8,  0xc8a8, e_HANGUL_LV},
        {  0xc8a9,  0xc8c3, e_HANGUL_LVT},
        {  0xc8c4,  0xc8c4, e_HANGUL_LV},
        {  0xc8c5,  0xc8df, e_HANGUL_LVT},
        {  0xc8e0,  0xc8e0, e_HANGUL_LV},
        {  0xc8e1,  0xc8fb, e_HANGUL_LVT},
        {  0xc8fc,  0xc8fc, e_HANGUL_LV},
        {  0xc8fd,  0xc917, e_HANGUL_LVT},
        {  0xc918,  0xc918, e_HANGUL_LV},
        {  0xc919,  0xc933, e_HANGUL_LVT},
        {  0xc934,  0xc934, e_HANGUL_LV},
        {  0xc935,  0xc94f, e_HANGUL_LVT},
        {  0xc950,  0xc950, e_HANGUL_LV},
        {  0xc951,  0xc96b, e_HANGUL_LVT},
        {  0xc96c,  0xc96c, e_HANGUL_LV},
        {  0xc96d,  0xc987, e_HANGUL_LVT},
        {  0xc988,  0xc988, e_HANGUL_LV},
        {  0xc989,  0xc9a3, e_HANGUL_LVT},
        {  0xc9a4,  0xc9a4, e_HANGUL_LV},
        {  0xc9a5,  0xc9bf, e_HANGUL_LVT},
        {  0xc9c0,  0xc9c0, e_HANGUL_LV},
        {  0xc9c1,  0xc9db, e_HANGUL_LVT},
        {  0xc9dc,  0xc9dc, e_HANGUL_LV},
        {  0xc9dd,  0xc9f7, e_HANGUL_LVT},
        {  0xc9f8,  0xc9f8, e_HANGUL_LV},
        {  0xc9f9,  0xca13, e_HANGUL_LVT},
        {  0xca14,  0xca14, e_HANGUL_LV},
        {  0xca15,  0xca2f, e_HANGUL_LVT},
        {  0xca30,  0xca30, e_HANGUL_LV},
        {  0xca31,  0xca4b, e_HANGUL_LVT},
        {  0xca4c,  0xca4c, e_HANGUL_LV},
        {  0xca4d,  0xca67, e_HANGUL_LVT},
        {  0xca68,  0xca68, e_HANGUL_LV},
        {  0xca69,  0xca83, e_HANGUL_LVT},
        {  0xca84,  0xca84, e_HANGUL_LV},
        {  0xca85,  0xca9f, e_HANGUL_LVT},
        {  0xcaa0,  0xcaa0, e_HANGUL_LV},
        {  0xcaa1,  0xcabb, e_HANGUL_LVT},
        {  0xcabc,  0xcabc, e_HANGUL_LV},
        {  0xcabd,  0xcad7, e_HANGUL_LVT},
        {  0xcad8,  0xcad8, e_HANGUL_LV},
        {  0xcad9,  0xcaf3, e_HANGUL_LVT},
        {  0xcaf4,  0xcaf4, e_HANGUL_LV},
        {  0xcaf5,  0xcb0f, e_HANGUL_LVT},
        {  0xcb10,  0xcb10, e_HANGUL_LV},
        {  0xcb11,  0xcb2b, e_HANGUL_LVT},
        {  0xcb2c,  0xcb2c, e_HANGUL_LV},
        {  0xcb2d,  0xcb47, e_HANGUL_LVT},
        {  0xcb48,  0xcb48, e_HANGUL_LV},
        {  0xcb49,  0xcb63, e_HANGUL_LVT},
        {  0xcb64,  0xcb64, e_HANGUL_LV},
        {  0xcb65,  0xcb7f, e_HANGUL_LVT},
        {  0xcb80,  0xcb80, e_HANGUL_LV},
        {  0xcb81,  0xcb9b, e_HANGUL_LVT},
        {  0xcb9c,  0xcb9c, e_HANGUL_LV},
        {  0xcb9d,  0xcbb7, e_HANGUL_LVT},
        {  0xcbb8,  0xcbb8, e_HANGUL_LV},
        {  0xcbb9,  0xcbd3, e_HANGUL_LVT},
        {  0xcbd4,  0xcbd4, e_HANGUL_LV},
        {  0xcbd5,  0xcbef, e_HANGUL_LVT},
        {  0xcbf0,  0xcbf0, e_HANGUL_LV},
        {  0xcbf1,  0xcc0b, e_HANGUL_LVT},
        {  0xcc0c,  0xcc0c, e_HANGUL_LV},
        {  0xcc0d,  0xcc27, e_HANGUL_LVT},
        {  0xcc28,  0xcc28, e_HANGUL_LV},
        {  0xcc29,  0xcc43, e_HANGUL_LVT},
        {  0xcc44,  0xcc44, e_HANGUL_LV},
        {  0xcc45,  0xcc5f, e_HANGUL_LVT},
        {  0xcc60,  0xcc60, e_HANGUL_LV},
        {  0xcc61,  0xcc7b, e_HANGUL_LVT},
        {  0xcc7c,  0xcc7c, e_HANGUL_LV},
        {  0xcc7d,  0xcc97, e_HANGUL_LVT},
        {  0xcc98,  0xcc98, e_HANGUL_LV},
        {  0xcc99,  0xccb3, e_HANGUL_LVT},
        {  0xccb4,  0xccb4, e_HANGUL_LV},
        {  0xccb5,  0xcccf, e_HANGUL_LVT},
        {  0xccd0,  0xccd0, e_HANGUL_LV},
        {  0xccd1,  0xcceb, e_HANGUL_LVT},
        {  0xccec,  0xccec, e_HANGUL_LV},
        {  0xcced,  0xcd07, e_HANGUL_LVT},
        {  0xcd08,  0xcd08, e_HANGUL_LV},
        {  0xcd09,  0xcd23, e_HANGUL_LVT},
        {  0xcd24,  0xcd24, e_HANGUL_LV},
        {  0xcd25,  0xcd3f, e_HANGUL_LVT},
        {  0xcd40,  0xcd40, e_HANGUL_LV},
        {  0xcd41,  0xcd5b, e_HANGUL_LVT},
        {  0xcd5c,  0xcd5c, e_HANGUL_LV},
        {  0xcd5d,  0xcd77, e_HANGUL_LVT},
        {  0xcd78,  0xcd78, e_HANGUL_LV},
        {  0xcd79,  0xcd93, e_HANGUL_LVT},
        {  0xcd94,  0xcd94, e_HANGUL_LV},
        {  0xcd95,  0xcdaf, e_HANGUL_LVT},
        {  0xcdb0,  0xcdb0, e_HANGUL_LV},
        {  0xcdb1,  0xcdcb, e_HANGUL_LVT},
        {  0xcdcc,  0xcdcc, e_HANGUL_LV},
        {  0xcdcd,  0xcde7, e_HANGUL_LVT},
        {  0xcde8,  0xcde8, e_HANGUL_LV},
        {  0xcde9,  0xce03, e_HANGUL_LVT},
        {  0xce04,  0xce04, e_HANGUL_LV},
        {  0xce05,  0xce1f, e_HANGUL_LVT},
        {  0xce20,  0xce20, e_HANGUL_LV},
        {  0xce21,  0xce3b, e_HANGUL_LVT},
        {  0xce3c,  0xce3c, e_HANGUL_LV},
        {  0xce3d,  0xce57, e_HANGUL_LVT},
        {  0xce58,  0xce58, e_HANGUL_LV},
        {  0xce59,  0xce73, e_HANGUL_LVT},
        {  0xce74,  0xce74, e_HANGUL_LV},
        {  0xce75,  0xce8f, e_HANGUL_LVT},
        {  0xce90,  0xce90, e_HANGUL_LV},
        {  0xce91,  0xceab, e_HANGUL_LVT},
        {  0xceac,  0xceac, e_HANGUL_LV},
        {  0xcead,  0xcec7, e_HANGUL_LVT},
        {  0xcec8,  0xcec8, e_HANGUL_LV},
        {  0xcec9,  0xcee3, e_HANGUL_LVT},
        {  0xcee4,  0xcee4, e_HANGUL_LV},
        {  0xcee5,  0xceff, e_HANGUL_LVT},
        {  0xcf00,  0xcf00, e_HANGUL_LV},
        {  0xcf01,  0xcf1b, e_HANGUL_LVT},
        {  0xcf1c,  0xcf1c, e_HANGUL_LV},
        {  0xcf1d,  0xcf37, e_HANGUL_LVT},
        {  0xcf38,  0xcf38, e_HANGUL_LV},
        {  0xcf39,  0xcf53, e_HANGUL_LVT},
        {  0xcf54,  0xcf54, e_HANGUL_LV},
        {  0xcf55,  0xcf6f, e_HANGUL_LVT},
        {  0xcf70,  0xcf70, e_HANGUL_LV},
        {  0xcf71,  0xcf8b, e_HANGUL_LVT},
        {  0xcf8c,  0xcf8c, e_HANGUL_LV},
        {  0xcf8d,  0xcfa7, e_HANGUL_LVT},
        {  0xcfa8,  0xcfa8, e_HANGUL_LV},
        {  0xcfa9,  0xcfc3, e_HANGUL_LVT},
        {  0xcfc4,  0xcfc4, e_HANGUL_LV},
        {  0xcfc5,  0xcfdf, e_HANGUL_LVT},
        {  0xcfe0,  0xcfe0, e_HANGUL_LV},
        {  0xcfe1,  0xcffb, e_HANGUL_LVT},
        {  0xcffc,  0xcffc, e_HANGUL_LV},
        {  0xcffd,  0xd017, e_HANGUL_LVT},
        {  0xd018,  0xd018, e_HANGUL_LV},
        {  0xd019,  0xd033, e_HANGUL_LVT},
        {  0xd034,  0xd034, e_HANGUL_LV},
        {  0xd035,  0xd04f, e_HANGUL_LVT},
        {  0xd050,  0xd050, e_HANGUL_LV},
        {  0xd051,  0xd06b, e_HANGUL_LVT},
        {  0xd06c,  0xd06c, e_HANGUL_LV},
        {  0xd06d,  0xd087, e_HANGUL_LVT},
        {  0xd088,  0xd088, e_HANGUL_LV},
        {  0xd089,  0xd0a3, e_HANGUL_LVT},
        {  0xd0a4,  0xd0a4, e_HANGUL_LV},
        {  0xd0a5,  0xd0bf, e_HANGUL_LVT},
        {  0xd0c0,  0xd0c0, e_HANGUL_LV},
        {  0xd0c1,  0xd0db, e_HANGUL_LVT},
        {  0xd0dc,  0xd0dc, e_HANGUL_LV},
        {  0xd0dd,  0xd0f7, e_HANGUL_LVT},
        {  0xd0f8,  0xd0f8, e_HANGUL_LV},
        {  0xd0f9,  0xd113, e_HANGUL_LVT},
        {  0xd114,  0xd114, e_HANGUL_LV},
        {  0xd115,  0xd12f, e_HANGUL_LVT},
        {  0xd130,  0xd130, e_HANGUL_LV},
        {  0xd131,  0xd14b, e_HANGUL_LVT},
        {  0xd14c,  0xd14c, e_HANGUL_LV},
        {  0xd14d,  0xd167, e_HANGUL_LVT},
        {  0xd168,  0xd168, e_HANGUL_LV},
        {  0xd169,  0xd183, e_HANGUL_LVT},
        {  0xd184,  0xd184, e_HANGUL_LV},
        {  0xd185,  0xd19f, e_HANGUL_LVT},
        {  0xd1a0,  0xd1a0, e_HANGUL_LV},
        {  0xd1a1,  0xd1bb, e_HANGUL_LVT},
        {  0xd1bc,  0xd1bc, e_HANGUL_LV},
        {  0xd1bd,  0xd1d7, e_HANGUL_LVT},
        {  0xd1d8,  0xd1d8, e_HANGUL_LV},
        {  0xd1d9,  0xd1f3, e_HANGUL_LVT},
        {  0xd1f4,  0xd1f4, e_HANGUL_LV},
        {  0xd1f5,  0xd20f, e_HANGUL_LVT},
        {  0xd210,  0xd210, e_HANGUL_LV},
        {  0xd211,  0xd22b, e_HANGUL_LVT},
        {  0xd22c,  0xd22c, e_HANGUL_LV},
        {  0xd22d,  0xd247, e_HANGUL_LVT},
        {  0xd248,  0xd248, e_HANGUL_LV},
        {  0xd249,  0xd263, e_HANGUL_LVT},
        {  0xd264,  0xd264, e_HANGUL_LV},
        {  0xd265,  0xd27f, e_HANGUL_LVT},
        {  0xd280,  0xd280, e_HANGUL_LV},
        {  0xd281,  0xd29b, e_HANGUL_LVT},
        {  0xd29c,  0xd29c, e_HANGUL_LV},
        {  0xd29d,  0xd2b7, e_HANGUL_LVT},
        {  0xd2b8,  0xd2b8, e_HANGUL_LV},
        {  0xd2b9,  0xd2d3, e_HANGUL_LVT},
        {  0xd2d4,  0xd2d4, e_HANGUL_LV},
        {  0xd2d5,  0xd2ef, e_HANGUL_LVT},
        {  0xd2f0,  0xd2f0, e_HANGUL_LV},
        {  0xd2f1,  0xd30b, e_HANGUL_LVT},
        {  0xd30c,  0xd30c, e_HANGUL_LV},
        {  0xd30d,  0xd327, e_HANGUL_LVT},
        {  0xd328,  0xd328, e_HANGUL_LV},
        {  0xd329,  0xd343, e_HANGUL_LVT},
        {  0xd344,  0xd344, e_HANGUL_LV},
        {  0xd345,  0xd35f, e_HANGUL_LVT},
        {  0xd360,  0xd360, e_HANGUL_LV},
        {  0xd361,  0xd37b, e_HANGUL_LVT},
        {  0xd37c,  0xd37c, e_HANGUL_LV},
        {  0xd37d,  0xd397, e_HANGUL_LVT},
        {  0xd398,  0xd398, e_HANGUL_LV},
        {  0xd399,  0xd3b3, e_HANGUL_LVT},
        {  0xd3b4,  0xd3b4, e_HANGUL_LV},
        {  0xd3b5,  0xd3cf, e_HANGUL_LVT},
        {  0xd3d0,  0xd3d0, e_HANGUL_LV},
        {  0xd3d1,  0xd3eb, e_HANGUL_LVT},
        {  0xd3ec,  0xd3ec, e_HANGUL_LV},
        {  0xd3ed,  0xd407, e_HANGUL_LVT},
        {  0xd408,  0xd408, e_HANGUL_LV},
        {  0xd409,  0xd423, e_HANGUL_LVT},
        {  0xd424,  0xd424, e_HANGUL_LV},
        {  0xd425,  0xd43f, e_HANGUL_LVT},
        {  0xd440,  0xd440, e_HANGUL_LV},
        {  0xd441,  0xd45b, e_HANGUL_LVT},
        {  0xd45c,  0xd45c, e_HANGUL_LV},
        {  0xd45d,  0xd477, e_HANGUL_LVT},
        {  0xd478,  0xd478, e_HANGUL_LV},
        {  0xd479,  0xd493, e_HANGUL_LVT},
        {  0xd494,  0xd494, e_HANGUL_LV},
        {  0xd495,  0xd4af, e_HANGUL_LVT},
        {  0xd4b0,  0xd4b0, e_HANGUL_LV},
        {  0xd4b1,  0xd4cb, e_HANGUL_LVT},
        {  0xd4cc,  0xd4cc, e_HANGUL_LV},
        {  0xd4cd,  0xd4e7, e_HANGUL_LVT},
        {  0xd4e8,  0xd4e8, e_HANGUL_LV},
        {  0xd4e9,  0xd503, e_HANGUL_LVT},
        {  0xd504,  0xd504, e_HANGUL_LV},
        {  0xd505,  0xd51f, e_HANGUL_LVT},
        {  0xd520,  0xd520, e_HANGUL_LV},
        {  0xd521,  0xd53b, e_HANGUL_LVT},
        {  0xd53c,  0xd53c, e_HANGUL_LV},
        {  0xd53d,  0xd557, e_HANGUL_LVT},
        {  0xd558,  0xd558, e_HANGUL_LV},
        {  0xd559,  0xd573, e_HANGUL_LVT},
        {  0xd574,  0xd574, e_HANGUL_LV},
        {  0xd575,  0xd58f, e_HANGUL_LVT},
        {  0xd590,  0xd590, e_HANGUL_LV},
        {  0xd591,  0xd5ab, e_HANGUL_LVT},
        {  0xd5ac,  0xd5ac, e_HANGUL_LV},
        {  0xd5ad,  0xd5c7, e_HANGUL_LVT},
        {  0xd5c8,  0xd5c8, e_HANGUL_LV},
        {  0xd5c9,  0xd5e3, e_HANGUL_LVT},
        {  0xd5e4,  0xd5e4, e_HANGUL_LV},
        {  0xd5e5,  0xd5ff, e_HANGUL_LVT},
        {  0xd600,  0xd600, e_HANGUL_LV},
        {  0xd601,  0xd61b, e_HANGUL_LVT},
        {  0xd61c,  0xd61c, e_HANGUL_LV},
        {  0xd61d,  0xd637, e_HANGUL_LVT},
        {  0xd638,  0xd638, e_HANGUL_LV},
        {  0xd639,  0xd653, e_HANGUL_LVT},
        {  0xd654,  0xd654, e_HANGUL_LV},
        {  0xd655,  0xd66f, e_HANGUL_LVT},
        {  0xd670,  0xd670, e_HANGUL_LV},
        {  0xd671,  0xd68b, e_HANGUL_LVT},
        {  0xd68c,  0xd68c, e_HANGUL_LV},
        {  0xd68d,  0xd6a7, e_HANGUL_LVT},
        {  0xd6a8,  0xd6a8, e_HANGUL_LV},
        {  0xd6a9,  0xd6c3, e_HANGUL_LVT},
        {  0xd6c4,  0xd6c4, e_HANGUL_LV},
        {  0xd6c5,  0xd6df, e_HANGUL_LVT},
        {  0xd6e0,  0xd6e0, e_HANGUL_LV},
        {  0xd6e1,  0xd6fb, e_HANGUL_LVT},
        {  0xd6fc,  0xd6fc, e_HANGUL_LV},
        {  0xd6fd,  0xd717, e_HANGUL_LVT},
        {  0xd718,  0xd718, e_HANGUL_LV},
        {  0xd719,  0xd733, e_HANGUL_LVT},
        {  0xd734,  0xd734, e_HANGUL_LV},
        {  0xd735,  0xd74f, e_HANGUL_LVT},
        {  0xd750,  0xd750, e_HANGUL_LV},
        {  0xd751,  0xd76b, e_HANGUL_LVT},
        {  0xd76c,  0xd76c, e_HANGUL_LV},
        {  0xd76d,  0xd787, e_HANGUL_LVT},
        {  0xd788,  0xd788, e_HANGUL_LV},
        {  0xd789,  0xd7a3, e_HANGUL_LVT},
        {  0xd7b0,  0xd7c6, e_HANGUL_V},
        {  0xd7cb,  0xd7fb, e_HANGUL_T},
        {  0xfb1e,  0xfb1e, e_EXTEND},
        {  0xfe00,  0xfe0f, e_EXTEND},
        {  0xfe20,  0xfe2f, e_EXTEND},
        {  0xfeff,  0xfeff, e_CONTROL},
        {  0xff9e,  0xff9f, e_EXTEND},
        {  0xfff0,  0xfffb, e_CONTROL},
        { 0x101fd, 0x101fd, e_EXTEND},
        { 0x102e0, 0x102e0, e_EXTEND},
        { 0x10376, 0x1037a, e_EXTEND},
        { 0x10a01, 0x10a03, e_EXTEND},
        { 0x10a05, 0x10a06, e_EXTEND},
        { 0x10a0c, 0x10a0f, e_EXTEND},
        { 0x10a38, 0x10a3a, e_EXTEND},
        { 0x10a3f, 0x10a3f, e_EXTEND},
        { 0x10ae5, 0x10ae6, e_EXTEND},
        { 0x10d24, 0x10d27, e_EXTEND},
        { 0x10d69, 0x10d6d, e_EXTEND},
        { 0x10eab, 0x10eac, e_EXTEND},
        { 0x10efc, 0x10eff, e_EXTEND},
        { 0x10f46, 0x10f50, e_EXTEND},
        { 0x10f82, 0x10f85, e_EXTEND},
        { 0x11000, 0x11000, e_SPACING_MARK},
        { 0x11001, 0x11001, e_EXTEND},
        { 0x11002, 0x11002, e_SPACING_MARK},
        { 0x11038, 0x11046, e_EXTEND},
        { 0x11070, 0x11070, e_EXTEND},
        { 0x11073, 0x11074, e_EXTEND},
        { 0x1107f, 0x11081, e_EXTEND},
        { 0x11082, 0x11082, e_SPACING_MARK},
        { 0x110b0, 0x110b2, e_SPACING_MARK},
        { 0x110b3, 0x110b6, e_EXTEND},
        { 0x110b7, 0x110b8, e_SPACING_MARK},
        { 0x110b9, 0x110ba, e_EXTEND},
        { 0x110bd, 0x110bd, e_PREPEND},
        { 0x110c2, 0x110c2, e_EXTEND},
        { 0x110cd, 0x110cd, e_PREPEND},
        { 0x11100, 0x11102, e_EXTEND},
        { 0x11127, 0x1112b, e_EXTEND},
        { 0x1112c, 0x1112c, e_SPACING_MARK},
        { 0x1112d, 0x11134, e_EXTEND},
        { 0x11145, 0x11146, e_SPACING_MARK},
        { 0x11173, 0x11173, e_EXTEND},
        { 0x11180, 0x11181, e_EXTEND},
        { 0x11182, 0x11182, e_SPACING_MARK},
        { 0x111b3, 0x111b5, e_SPACING_MARK},
        { 0x111b6, 0x111be, e_EXTEND},
        { 0x111bf, 0x111bf, e_SPACING_MARK},
        { 0x111c0, 0x111c0, e_EXTEND},
        { 0x111c2, 0x111c3, e_PREPEND},
        { 0x111c9, 0x111cc, e_EXTEND},
        { 0x111ce, 0x111ce, e_SPACING_MARK},
        { 0x111cf, 0x111cf, e_EXTEND},
        { 0x1122c, 0x1122e, e_SPACING_MARK},
        { 0x1122f, 0x11231, e_EXTEND},
        { 0x11232, 0x11233, e_SPACING_MARK},
        { 0x11234, 0x11237, e_EXTEND},
        { 0x1123e, 0x1123e, e_EXTEND},
        { 0x11241, 0x11241, e_EXTEND},
        { 0x112df, 0x112df, e_EXTEND},
        { 0x112e0, 0x112e2, e_SPACING_MARK},
        { 0x112e3, 0x112ea, e_EXTEND},
        { 0x11300, 0x11301, e_EXTEND},
        { 0x11302, 0x11303, e_SPACING_MARK},
        { 0x1133b, 0x1133c, e_EXTEND},
        { 0x1133e, 0x1133e, e_EXTEND},
        { 0x1133f, 0x1133f, e_SPACING_MARK},
        { 0x11340, 0x11340, e_EXTEND},
        { 0x11341, 0x11344, e_SPACING_MARK},
        { 0x11347, 0x11348, e_SPACING_MARK},
        { 0x1134b, 0x1134c, e_SPACING_MARK},
        { 0x1134d, 0x1134d, e_EXTEND},
        { 0x11357, 0x11357, e_EXTEND},
        { 0x11362, 0x11363, e_SPACING_MARK},
        { 0x11366, 0x1136c, e_EXTEND},
        { 0x11370, 0x11374, e_EXTEND},
        { 0x113b8, 0x113b8, e_EXTEND},
        { 0x113b9, 0x113ba, e_SPACING_MARK},
        { 0x113bb, 0x113c0, e_EXTEND},
        { 0x113c2, 0x113c2, e_EXTEND},
        { 0x113c5, 0x113c5, e_EXTEND},
        { 0x113c7, 0x113c9, e_EXTEND},
        { 0x113ca, 0x113ca, e_SPACING_MARK},
        { 0x113cc, 0x113cd, e_SPACING_MARK},
        { 0x113ce, 0x113d0, e_EXTEND},
        { 0x113d1, 0x113d1, e_PREPEND},
        { 0x113d2, 0x113d2, e_EXTEND},
        { 0x113e1, 0x113e2, e_EXTEND},
        { 0x11435, 0x11437, e_SPACING_MARK},
        { 0x11438, 0x1143f, e_EXTEND},
        { 0x11440, 0x11441, e_SPACING_MARK},
        { 0x11442, 0x11444, e_EXTEND},
        { 0x11445, 0x11445, e_SPACING_MARK},
        { 0x11446, 0x11446, e_EXTEND},
        { 0x1145e, 0x1145e, e_EXTEND},
        { 0x114b0, 0x114b0, e_EXTEND},
        { 0x114b1, 0x114b2, e_SPACING_MARK},
        { 0x114b3, 0x114b8, e_EXTEND},
        { 0x114b9, 0x114b9, e_SPACING_MARK},
        { 0x114ba, 0x114ba, e_EXTEND},
        { 0x114bb, 0x114bc, e_SPACING_MARK},
        { 0x114bd, 0x114bd, e_EXTEND},
        { 0x114be, 0x114be, e_SPACING_MARK},
        { 0x114bf, 0x114c0, e_EXTEND},
        { 0x114c1, 0x114c1, e_SPACING_MARK},
        { 0x114c2, 0x114c3, e_EXTEND},
        { 0x115af, 0x115af, e_EXTEND},
        { 0x115b0, 0x115b1, e_SPACING_MARK},
        { 0x115b2, 0x115b5, e_EXTEND},
        { 0x115b8, 0x115bb, e_SPACING_MARK},
        { 0x115bc, 0x115bd, e_EXTEND},
        { 0x115be, 0x115be, e_SPACING_MARK},
        { 0x115bf, 0x115c0, e_EXTEND},
        { 0x115dc, 0x115dd, e_EXTEND},
        { 0x11630, 0x11632, e_SPACING_MARK},
        { 0x11633, 0x1163a, e_EXTEND},
        { 0x1163b, 0x1163c, e_SPACING_MARK},
        { 0x1163d, 0x1163d, e_EXTEND},
        { 0x1163e, 0x1163e, e_SPACING_MARK},
        { 0x1163f, 0x11640, e_EXTEND},
        { 0x116ab, 0x116ab, e_EXTEND},
        { 0x116ac, 0x116ac, e_SPACING_MARK},
        { 0x116ad, 0x116ad, e_EXTEND},
        { 0x116ae, 0x116af, e_SPACING_MARK},
        { 0x116b0, 0x116b7, e_EXTEND},
        { 0x1171d, 0x1171d, e_EXTEND},
        { 0x1171e, 0x1171e, e_SPACING_MARK},
        { 0x1171f, 0x1171f, e_EXTEND},
        { 0x11722, 0x11725, e_EXTEND},
        { 0x11726, 0x11726, e_SPACING_MARK},
        { 0x11727, 0x1172b, e_EXTEND},
        { 0x1182c, 0x1182e, e_SPACING_MARK},
        { 0x1182f, 0x11837, e_EXTEND},
        { 0x11838, 0x11838, e_SPACING_MARK},
        { 0x11839, 0x1183a, e_EXTEND},
        { 0x11930, 0x11930, e_EXTEND},
        { 0x11931, 0x11935, e_SPACING_MARK},
        { 0x11937, 0x11938, e_SPACING_MARK},
        { 0x1193b, 0x1193e, e_EXTEND},
        { 0x1193f, 0x1193f, e_PREPEND},
        { 0x11940, 0x11940, e_SPACING_MARK},
        { 0x11941, 0x11941, e_PREPEND},
        { 0x11942, 0x11942, e_SPACING_MARK},
        { 0x11943, 0x11943, e_EXTEND},
        { 0x119d1, 0x119d3, e_SPACING_MARK},
        { 0x119d4, 0x119d7, e_EXTEND},
        { 0x119da, 0x119db, e_EXTEND},
        { 0x119dc, 0x119df, e_SPACING_MARK},
        { 0x119e0, 0x119e0, e_EXTEND},
        { 0x119e4, 0x119e4, e_SPACING_MARK},
        { 0x11a01, 0x11a0a, e_EXTEND},
        { 0x11a33, 0x11a38, e_EXTEND},
        { 0x11a39, 0x11a39, e_SPACING_MARK},
        { 0x11a3a, 0x11a3a, e_PREPEND},
        { 0x11a3b, 0x11a3e, e_EXTEND},
        { 0x11a47, 0x11a47, e_EXTEND},
        { 0x11a51, 0x11a56, e_EXTEND},
        { 0x11a57, 0x11a58, e_SPACING_MARK},
        { 0x11a59, 0x11a5b, e_EXTEND},
        { 0x11a84, 0x11a89, e_PREPEND},
        { 0x11a8a, 0x11a96, e_EXTEND},
        { 0x11a97, 0x11a97, e_SPACING_MARK},
        { 0x11a98, 0x11a99, e_EXTEND},
        { 0x11c2f, 0x11c2f, e_SPACING_MARK},
        { 0x11c30, 0x11c36, e_EXTEND},
        { 0x11c38, 0x11c3d, e_EXTEND},
        { 0x11c3e, 0x11c3e, e_SPACING_MARK},
        { 0x11c3f, 0x11c3f, e_EXTEND},
        { 0x11c92, 0x11ca7, e_EXTEND},
        { 0x11ca9, 0x11ca9, e_SPACING_MARK},
        { 0x11caa, 0x11cb0, e_EXTEND},
        { 0x11cb1, 0x11cb1, e_SPACING_MARK},
        { 0x11cb2, 0x11cb3, e_EXTEND},
        { 0x11cb4, 0x11cb4, e_SPACING_MARK},
        { 0x11cb5, 0x11cb6, e_EXTEND},
        { 0x11d31, 0x11d36, e_EXTEND},
        { 0x11d3a, 0x11d3a, e_EXTEND},
        { 0x11d3c, 0x11d3d, e_EXTEND},
        { 0x11d3f, 0x11d45, e_EXTEND},
        { 0x11d46, 0x11d46, e_PREPEND},
        { 0x11d47, 0x11d47, e_EXTEND},
        { 0x11d8a, 0x11d8e, e_SPACING_MARK},
        { 0x11d90, 0x11d91, e_EXTEND},
        { 0x11d93, 0x11d94, e_SPACING_MARK},
        { 0x11d95, 0x11d95, e_EXTEND},
        { 0x11d96, 0x11d96, e_SPACING_MARK},
        { 0x11d97, 0x11d97, e_EXTEND},
        { 0x11ef3, 0x11ef4, e_EXTEND},
        { 0x11ef5, 0x11ef6, e_SPACING_MARK},
        { 0x11f00, 0x11f01, e_EXTEND},
        { 0x11f02, 0x11f02, e_PREPEND},
        { 0x11f03, 0x11f03, e_SPACING_MARK},
        { 0x11f34, 0x11f35, e_SPACING_MARK},
        { 0x11f36, 0x11f3a, e_EXTEND},
        { 0x11f3e, 0x11f3f, e_SPACING_MARK},
        { 0x11f40, 0x11f42, e_EXTEND},
        { 0x11f5a, 0x11f5a, e_EXTEND},
        { 0x13430, 0x1343f, e_CONTROL},
        { 0x13440, 0x13440, e_EXTEND},
        { 0x13447, 0x13455, e_EXTEND},
        { 0x1611e, 0x16129, e_EXTEND},
        { 0x1612a, 0x1612c, e_SPACING_MARK},
        { 0x1612d, 0x1612f, e_EXTEND},
        { 0x16af0, 0x16af4, e_EXTEND},
        { 0x16b30, 0x16b36, e_EXTEND},
        { 0x16d63, 0x16d63, e_HANGUL_V},
        { 0x16d67, 0x16d6a, e_HANGUL_V},
        { 0x16f4f, 0x16f4f, e_EXTEND},
        { 0x16f51, 0x16f87, e_SPACING_MARK},
        { 0x16f8f, 0x16f92, e_EXTEND},
        { 0x16fe4, 0x16fe4, e_EXTEND},
        { 0x16ff0, 0x16ff1, e_EXTEND},
        { 0x1bc9d, 0x1bc9e, e_EXTEND},
        { 0x1bca0, 0x1bca3, e_CONTROL},
        { 0x1cf00, 0x1cf2d, e_EXTEND},
        { 0x1cf30, 0x1cf46, e_EXTEND},
        { 0x1d165, 0x1d169, e_EXTEND},
        { 0x1d16d, 0x1d172, e_EXTEND},
        { 0x1d173, 0x1d17a, e_CONTROL},
        { 0x1d17b, 0x1d182, e_EXTEND},
        { 0x1d185, 0x1d18b, e_EXTEND},
        { 0x1d1aa, 0x1d1ad, e_EXTEND},
        { 0x1d242, 0x1d244, e_EXTEND},
        { 0x1da00, 0x1da36, e_EXTEND},
        { 0x1da3b, 0x1da6c, e_EXTEND},
        { 0x1da75, 0x1da75, e_EXTEND},
        { 0x1da84, 0x1da84, e_EXTEND},
        { 0x1da9b, 0x1da9f, e_EXTEND},
        { 0x1daa1, 0x1daaf, e_EXTEND},
        { 0x1e000, 0x1e006, e_EXTEND},
        { 0x1e008, 0x1e018, e_EXTEND},
        { 0x1e01b, 0x1e021, e_EXTEND},
        { 0x1e023, 0x1e024, e_EXTEND},
        { 0x1e026, 0x1e02a, e_EXTEND},
        { 0x1e08f, 0x1e08f, e_EXTEND},
        { 0x1e130, 0x1e136, e_EXTEND},
        { 0x1e2ae, 0x1e2ae, e_EXTEND},
        { 0x1e2ec, 0x1e2ef, e_EXTEND},
        { 0x1e4ec, 0x1e4ef, e_EXTEND},
        { 0x1e5ee, 0x1e5ef, e_EXTEND},
        { 0x1e8d0, 0x1e8d6, e_EXTEND},
        { 0x1e944, 0x1e94a, e_EXTEND},
        { 0x1f1e6, 0x1f1ff, e_REGIONAL_INDICATOR},
        { 0x1f3fb, 0x1f3ff, e_EXTEND},
        { 0xe0000, 0xe001f, e_CONTROL},
        { 0xe0020, 0xe007f, e_EXTEND},
        { 0xe0080, 0xe00ff, e_CONTROL},
        { 0xe0100, 0xe01ef, e_EXTEND},
        { 0xe01f0, 0xe0fff, e_CONTROL}
};


const int FormatterUnicodeData::s_graphemeBreakCategoryRangeCount =
    sizeof(s_graphemeBreakCategoryRanges) / sizeof(GraphemeBreakCategoryRange);


// emoji-data.txt
// Date: 2024-05-01, 21:25:24 GMT
const FormatterUnicodeData::BooleanRange
    FormatterUnicodeData::s_extendedPictographicRanges[] = {
        {    0xa9,    0xa9},
        {    0xae,    0xae},
        {  0x203c,  0x203c},
        {  0x2049,  0x2049},
        {  0x2122,  0x2122},
        {  0x2139,  0x2139},
        {  0x2194,  0x2199},
        {  0x21a9,  0x21aa},
        {  0x231a,  0x231b},
        {  0x2328,  0x2328},
        {  0x2388,  0x2388},
        {  0x23cf,  0x23cf},
        {  0x23e9,  0x23f3},
        {  0x23f8,  0x23fa},
        {  0x24c2,  0x24c2},
        {  0x25aa,  0x25ab},
        {  0x25b6,  0x25b6},
        {  0x25c0,  0x25c0},
        {  0x25fb,  0x25fe},
        {  0x2600,  0x2605},
        {  0x2607,  0x2612},
        {  0x2614,  0x2685},
        {  0x2690,  0x2705},
        {  0x2708,  0x2712},
        {  0x2714,  0x2714},
        {  0x2716,  0x2716},
        {  0x271d,  0x271d},
        {  0x2721,  0x2721},
        {  0x2728,  0x2728},
        {  0x2733,  0x2734},
        {  0x2744,  0x2744},
        {  0x2747,  0x2747},
        {  0x274c,  0x274c},
        {  0x274e,  0x274e},
        {  0x2753,  0x2755},
        {  0x2757,  0x2757},
        {  0x2763,  0x2767},
        {  0x2795,  0x2797},
        {  0x27a1,  0x27a1},
        {  0x27b0,  0x27b0},
        {  0x27bf,  0x27bf},
        {  0x2934,  0x2935},
        {  0x2b05,  0x2b07},
        {  0x2b1b,  0x2b1c},
        {  0x2b50,  0x2b50},
        {  0x2b55,  0x2b55},
        {  0x3030,  0x3030},
        {  0x303d,  0x303d},
        {  0x3297,  0x3297},
        {  0x3299,  0x3299},
        { 0x1f000, 0x1f0ff},
        { 0x1f10d, 0x1f10f},
        { 0x1f12f, 0x1f12f},
        { 0x1f16c, 0x1f171},
        { 0x1f17e, 0x1f17f},
        { 0x1f18e, 0x1f18e},
        { 0x1f191, 0x1f19a},
        { 0x1f1ad, 0x1f1e5},
        { 0x1f201, 0x1f20f},
        { 0x1f21a, 0x1f21a},
        { 0x1f22f, 0x1f22f},
        { 0x1f232, 0x1f23a},
        { 0x1f23c, 0x1f23f},
        { 0x1f249, 0x1f3fa},
        { 0x1f400, 0x1f53d},
        { 0x1f546, 0x1f64f},
        { 0x1f680, 0x1f6ff},
        { 0x1f774, 0x1f77f},
        { 0x1f7d5, 0x1f7ff},
        { 0x1f80c, 0x1f80f},
        { 0x1f848, 0x1f84f},
        { 0x1f85a, 0x1f85f},
        { 0x1f888, 0x1f88f},
        { 0x1f8ae, 0x1f8ff},
        { 0x1f90c, 0x1f93a},
        { 0x1f93c, 0x1f945},
        { 0x1f947, 0x1faff},
        { 0x1fc00, 0x1fffd}
};


const int FormatterUnicodeData::s_extendedPictographicRangeCount =
    sizeof(s_extendedPictographicRanges) / sizeof(BooleanRange);


// DerivedGeneralCategory-16.0.0.txt
// Date: 2024-04-30, 21:48:17 GMT
const FormatterUnicodeData::BooleanRange
    FormatterUnicodeData::s_printableRanges[] = {
        {    0x20,    0x7e},
        {    0xa1,    0xac},
        {    0xae,   0x377},
        {   0x37a,   0x37f},
        {   0x384,   0x38a},
        {   0x38c,   0x38c},
        {   0x38e,   0x3a1},
        {   0x3a3,   0x52f},
        {   0x531,   0x556},
        {   0x559,   0x58a},
        {   0x58d,   0x58f},
        {   0x591,   0x5c7},
        {   0x5d0,   0x5ea},
        {   0x5ef,   0x5f4},
        {   0x606,   0x61b},
        {   0x61d,   0x6dc},
        {   0x6de,   0x70d},
        {   0x710,   0x74a},
        {   0x74d,   0x7b1},
        {   0x7c0,   0x7fa},
        {   0x7fd,   0x82d},
        {   0x830,   0x83e},
        {   0x840,   0x85b},
        {   0x85e,   0x85e},
        {   0x860,   0x86a},
        {   0x870,   0x88e},
        {   0x897,   0x8e1},
        {   0x8e3,   0x983},
        {   0x985,   0x98c},
        {   0x98f,   0x990},
        {   0x993,   0x9a8},
        {   0x9aa,   0x9b0},
        {   0x9b2,   0x9b2},
        {   0x9b6,   0x9b9},
        {   0x9bc,   0x9c4},
        {   0x9c7,   0x9c8},
        {   0x9cb,   0x9ce},
        {   0x9d7,   0x9d7},
        {   0x9dc,   0x9dd},
        {   0x9df,   0x9e3},
        {   0x9e6,   0x9fe},
        {   0xa01,   0xa03},
        {   0xa05,   0xa0a},
        {   0xa0f,   0xa10},
        {   0xa13,   0xa28},
        {   0xa2a,   0xa30},
        {   0xa32,   0xa33},
        {   0xa35,   0xa36},
        {   0xa38,   0xa39},
        {   0xa3c,   0xa3c},
        {   0xa3e,   0xa42},
        {   0xa47,   0xa48},
        {   0xa4b,   0xa4d},
        {   0xa51,   0xa51},
        {   0xa59,   0xa5c},
        {   0xa5e,   0xa5e},
        {   0xa66,   0xa76},
        {   0xa81,   0xa83},
        {   0xa85,   0xa8d},
        {   0xa8f,   0xa91},
        {   0xa93,   0xaa8},
        {   0xaaa,   0xab0},
        {   0xab2,   0xab3},
        {   0xab5,   0xab9},
        {   0xabc,   0xac5},
        {   0xac7,   0xac9},
        {   0xacb,   0xacd},
        {   0xad0,   0xad0},
        {   0xae0,   0xae3},
        {   0xae6,   0xaf1},
        {   0xaf9,   0xaff},
        {   0xb01,   0xb03},
        {   0xb05,   0xb0c},
        {   0xb0f,   0xb10},
        {   0xb13,   0xb28},
        {   0xb2a,   0xb30},
        {   0xb32,   0xb33},
        {   0xb35,   0xb39},
        {   0xb3c,   0xb44},
        {   0xb47,   0xb48},
        {   0xb4b,   0xb4d},
        {   0xb55,   0xb57},
        {   0xb5c,   0xb5d},
        {   0xb5f,   0xb63},
        {   0xb66,   0xb77},
        {   0xb82,   0xb83},
        {   0xb85,   0xb8a},
        {   0xb8e,   0xb90},
        {   0xb92,   0xb95},
        {   0xb99,   0xb9a},
        {   0xb9c,   0xb9c},
        {   0xb9e,   0xb9f},
        {   0xba3,   0xba4},
        {   0xba8,   0xbaa},
        {   0xbae,   0xbb9},
        {   0xbbe,   0xbc2},
        {   0xbc6,   0xbc8},
        {   0xbca,   0xbcd},
        {   0xbd0,   0xbd0},
        {   0xbd7,   0xbd7},
        {   0xbe6,   0xbfa},
        {   0xc00,   0xc0c},
        {   0xc0e,   0xc10},
        {   0xc12,   0xc28},
        {   0xc2a,   0xc39},
        {   0xc3c,   0xc44},
        {   0xc46,   0xc48},
        {   0xc4a,   0xc4d},
        {   0xc55,   0xc56},
        {   0xc58,   0xc5a},
        {   0xc5d,   0xc5d},
        {   0xc60,   0xc63},
        {   0xc66,   0xc6f},
        {   0xc77,   0xc8c},
        {   0xc8e,   0xc90},
        {   0xc92,   0xca8},
        {   0xcaa,   0xcb3},
        {   0xcb5,   0xcb9},
        {   0xcbc,   0xcc4},
        {   0xcc6,   0xcc8},
        {   0xcca,   0xccd},
        {   0xcd5,   0xcd6},
        {   0xcdd,   0xcde},
        {   0xce0,   0xce3},
        {   0xce6,   0xcef},
        {   0xcf1,   0xcf3},
        {   0xd00,   0xd0c},
        {   0xd0e,   0xd10},
        {   0xd12,   0xd44},
        {   0xd46,   0xd48},
        {   0xd4a,   0xd4f},
        {   0xd54,   0xd63},
        {   0xd66,   0xd7f},
        {   0xd81,   0xd83},
        {   0xd85,   0xd96},
        {   0xd9a,   0xdb1},
        {   0xdb3,   0xdbb},
        {   0xdbd,   0xdbd},
        {   0xdc0,   0xdc6},
        {   0xdca,   0xdca},
        {   0xdcf,   0xdd4},
        {   0xdd6,   0xdd6},
        {   0xdd8,   0xddf},
        {   0xde6,   0xdef},
        {   0xdf2,   0xdf4},
        {   0xe01,   0xe3a},
        {   0xe3f,   0xe5b},
        {   0xe81,   0xe82},
        {   0xe84,   0xe84},
        {   0xe86,   0xe8a},
        {   0xe8c,   0xea3},
        {   0xea5,   0xea5},
        {   0xea7,   0xebd},
        {   0xec0,   0xec4},
        {   0xec6,   0xec6},
        {   0xec8,   0xece},
        {   0xed0,   0xed9},
        {   0xedc,   0xedf},
        {   0xf00,   0xf47},
        {   0xf49,   0xf6c},
        {   0xf71,   0xf97},
        {   0xf99,   0xfbc},
        {   0xfbe,   0xfcc},
        {   0xfce,   0xfda},
        {  0x1000,  0x10c5},
        {  0x10c7,  0x10c7},
        {  0x10cd,  0x10cd},
        {  0x10d0,  0x1248},
        {  0x124a,  0x124d},
        {  0x1250,  0x1256},
        {  0x1258,  0x1258},
        {  0x125a,  0x125d},
        {  0x1260,  0x1288},
        {  0x128a,  0x128d},
        {  0x1290,  0x12b0},
        {  0x12b2,  0x12b5},
        {  0x12b8,  0x12be},
        {  0x12c0,  0x12c0},
        {  0x12c2,  0x12c5},
        {  0x12c8,  0x12d6},
        {  0x12d8,  0x1310},
        {  0x1312,  0x1315},
        {  0x1318,  0x135a},
        {  0x135d,  0x137c},
        {  0x1380,  0x1399},
        {  0x13a0,  0x13f5},
        {  0x13f8,  0x13fd},
        {  0x1400,  0x167f},
        {  0x1681,  0x169c},
        {  0x16a0,  0x16f8},
        {  0x1700,  0x1715},
        {  0x171f,  0x1736},
        {  0x1740,  0x1753},
        {  0x1760,  0x176c},
        {  0x176e,  0x1770},
        {  0x1772,  0x1773},
        {  0x1780,  0x17dd},
        {  0x17e0,  0x17e9},
        {  0x17f0,  0x17f9},
        {  0x1800,  0x180d},
        {  0x180f,  0x1819},
        {  0x1820,  0x1878},
        {  0x1880,  0x18aa},
        {  0x18b0,  0x18f5},
        {  0x1900,  0x191e},
        {  0x1920,  0x192b},
        {  0x1930,  0x193b},
        {  0x1940,  0x1940},
        {  0x1944,  0x196d},
        {  0x1970,  0x1974},
        {  0x1980,  0x19ab},
        {  0x19b0,  0x19c9},
        {  0x19d0,  0x19da},
        {  0x19de,  0x1a1b},
        {  0x1a1e,  0x1a5e},
        {  0x1a60,  0x1a7c},
        {  0x1a7f,  0x1a89},
        {  0x1a90,  0x1a99},
        {  0x1aa0,  0x1aad},
        {  0x1ab0,  0x1ace},
        {  0x1b00,  0x1b4c},
        {  0x1b4e,  0x1bf3},
        {  0x1bfc,  0x1c37},
        {  0x1c3b,  0x1c49},
        {  0x1c4d,  0x1c8a},
        {  0x1c90,  0x1cba},
        {  0x1cbd,  0x1cc7},
        {  0x1cd0,  0x1cfa},
        {  0x1d00,  0x1f15},
        {  0x1f18,  0x1f1d},
        {  0x1f20,  0x1f45},
        {  0x1f48,  0x1f4d},
        {  0x1f50,  0x1f57},
        {  0x1f59,  0x1f59},
        {  0x1f5b,  0x1f5b},
        {  0x1f5d,  0x1f5d},
        {  0x1f5f,  0x1f7d},
        {  0x1f80,  0x1fb4},
        {  0x1fb6,  0x1fc4},
        {  0x1fc6,  0x1fd3},
        {  0x1fd6,  0x1fdb},
        {  0x1fdd,  0x1fef},
        {  0x1ff2,  0x1ff4},
        {  0x1ff6,  0x1ffe},
        {  0x2010,  0x2027},
        {  0x2030,  0x205e},
        {  0x2070,  0x2071},
        {  0x2074,  0x208e},
        {  0x2090,  0x209c},
        {  0x20a0,  0x20c0},
        {  0x20d0,  0x20f0},
        {  0x2100,  0x218b},
        {  0x2190,  0x2429},
        {  0x2440,  0x244a},
        {  0x2460,  0x2b73},
        {  0x2b76,  0x2b95},
        {  0x2b97,  0x2cf3},
        {  0x2cf9,  0x2d25},
        {  0x2d27,  0x2d27},
        {  0x2d2d,  0x2d2d},
        {  0x2d30,  0x2d67},
        {  0x2d6f,  0x2d70},
        {  0x2d7f,  0x2d96},
        {  0x2da0,  0x2da6},
        {  0x2da8,  0x2dae},
        {  0x2db0,  0x2db6},
        {  0x2db8,  0x2dbe},
        {  0x2dc0,  0x2dc6},
        {  0x2dc8,  0x2dce},
        {  0x2dd0,  0x2dd6},
        {  0x2dd8,  0x2dde},
        {  0x2de0,  0x2e5d},
        {  0x2e80,  0x2e99},
        {  0x2e9b,  0x2ef3},
        {  0x2f00,  0x2fd5},
        {  0x2ff0,  0x2fff},
        {  0x3001,  0x303f},
        {  0x3041,  0x3096},
        {  0x3099,  0x30ff},
        {  0x3105,  0x312f},
        {  0x3131,  0x318e},
        {  0x3190,  0x31e5},
        {  0x31ef,  0x321e},
        {  0x3220,  0xa48c},
        {  0xa490,  0xa4c6},
        {  0xa4d0,  0xa62b},
        {  0xa640,  0xa6f7},
        {  0xa700,  0xa7cd},
        {  0xa7d0,  0xa7d1},
        {  0xa7d3,  0xa7d3},
        {  0xa7d5,  0xa7dc},
        {  0xa7f2,  0xa82c},
        {  0xa830,  0xa839},
        {  0xa840,  0xa877},
        {  0xa880,  0xa8c5},
        {  0xa8ce,  0xa8d9},
        {  0xa8e0,  0xa953},
        {  0xa95f,  0xa97c},
        {  0xa980,  0xa9cd},
        {  0xa9cf,  0xa9d9},
        {  0xa9de,  0xa9fe},
        {  0xaa00,  0xaa36},
        {  0xaa40,  0xaa4d},
        {  0xaa50,  0xaa59},
        {  0xaa5c,  0xaac2},
        {  0xaadb,  0xaaf6},
        {  0xab01,  0xab06},
        {  0xab09,  0xab0e},
        {  0xab11,  0xab16},
        {  0xab20,  0xab26},
        {  0xab28,  0xab2e},
        {  0xab30,  0xab6b},
        {  0xab70,  0xabed},
        {  0xabf0,  0xabf9},
        {  0xac00,  0xd7a3},
        {  0xd7b0,  0xd7c6},
        {  0xd7cb,  0xd7fb},
        {  0xf900,  0xfa6d},
        {  0xfa70,  0xfad9},
        {  0xfb00,  0xfb06},
        {  0xfb13,  0xfb17},
        {  0xfb1d,  0xfb36},
        {  0xfb38,  0xfb3c},
        {  0xfb3e,  0xfb3e},
        {  0xfb40,  0xfb41},
        {  0xfb43,  0xfb44},
        {  0xfb46,  0xfbc2},
        {  0xfbd3,  0xfd8f},
        {  0xfd92,  0xfdc7},
        {  0xfdcf,  0xfdcf},
        {  0xfdf0,  0xfe19},
        {  0xfe20,  0xfe52},
        {  0xfe54,  0xfe66},
        {  0xfe68,  0xfe6b},
        {  0xfe70,  0xfe74},
        {  0xfe76,  0xfefc},
        {  0xff01,  0xffbe},
        {  0xffc2,  0xffc7},
        {  0xffca,  0xffcf},
        {  0xffd2,  0xffd7},
        {  0xffda,  0xffdc},
        {  0xffe0,  0xffe6},
        {  0xffe8,  0xffee},
        {  0xfffc,  0xfffd},
        { 0x10000, 0x1000b},
        { 0x1000d, 0x10026},
        { 0x10028, 0x1003a},
        { 0x1003c, 0x1003d},
        { 0x1003f, 0x1004d},
        { 0x10050, 0x1005d},
        { 0x10080, 0x100fa},
        { 0x10100, 0x10102},
        { 0x10107, 0x10133},
        { 0x10137, 0x1018e},
        { 0x10190, 0x1019c},
        { 0x101a0, 0x101a0},
        { 0x101d0, 0x101fd},
        { 0x10280, 0x1029c},
        { 0x102a0, 0x102d0},
        { 0x102e0, 0x102fb},
        { 0x10300, 0x10323},
        { 0x1032d, 0x1034a},
        { 0x10350, 0x1037a},
        { 0x10380, 0x1039d},
        { 0x1039f, 0x103c3},
        { 0x103c8, 0x103d5},
        { 0x10400, 0x1049d},
        { 0x104a0, 0x104a9},
        { 0x104b0, 0x104d3},
        { 0x104d8, 0x104fb},
        { 0x10500, 0x10527},
        { 0x10530, 0x10563},
        { 0x1056f, 0x1057a},
        { 0x1057c, 0x1058a},
        { 0x1058c, 0x10592},
        { 0x10594, 0x10595},
        { 0x10597, 0x105a1},
        { 0x105a3, 0x105b1},
        { 0x105b3, 0x105b9},
        { 0x105bb, 0x105bc},
        { 0x105c0, 0x105f3},
        { 0x10600, 0x10736},
        { 0x10740, 0x10755},
        { 0x10760, 0x10767},
        { 0x10780, 0x10785},
        { 0x10787, 0x107b0},
        { 0x107b2, 0x107ba},
        { 0x10800, 0x10805},
        { 0x10808, 0x10808},
        { 0x1080a, 0x10835},
        { 0x10837, 0x10838},
        { 0x1083c, 0x1083c},
        { 0x1083f, 0x10855},
        { 0x10857, 0x1089e},
        { 0x108a7, 0x108af},
        { 0x108e0, 0x108f2},
        { 0x108f4, 0x108f5},
        { 0x108fb, 0x1091b},
        { 0x1091f, 0x10939},
        { 0x1093f, 0x1093f},
        { 0x10980, 0x109b7},
        { 0x109bc, 0x109cf},
        { 0x109d2, 0x10a03},
        { 0x10a05, 0x10a06},
        { 0x10a0c, 0x10a13},
        { 0x10a15, 0x10a17},
        { 0x10a19, 0x10a35},
        { 0x10a38, 0x10a3a},
        { 0x10a3f, 0x10a48},
        { 0x10a50, 0x10a58},
        { 0x10a60, 0x10a9f},
        { 0x10ac0, 0x10ae6},
        { 0x10aeb, 0x10af6},
        { 0x10b00, 0x10b35},
        { 0x10b39, 0x10b55},
        { 0x10b58, 0x10b72},
        { 0x10b78, 0x10b91},
        { 0x10b99, 0x10b9c},
        { 0x10ba9, 0x10baf},
        { 0x10c00, 0x10c48},
        { 0x10c80, 0x10cb2},
        { 0x10cc0, 0x10cf2},
        { 0x10cfa, 0x10d27},
        { 0x10d30, 0x10d39},
        { 0x10d40, 0x10d65},
        { 0x10d69, 0x10d85},
        { 0x10d8e, 0x10d8f},
        { 0x10e60, 0x10e7e},
        { 0x10e80, 0x10ea9},
        { 0x10eab, 0x10ead},
        { 0x10eb0, 0x10eb1},
        { 0x10ec2, 0x10ec4},
        { 0x10efc, 0x10f27},
        { 0x10f30, 0x10f59},
        { 0x10f70, 0x10f89},
        { 0x10fb0, 0x10fcb},
        { 0x10fe0, 0x10ff6},
        { 0x11000, 0x1104d},
        { 0x11052, 0x11075},
        { 0x1107f, 0x110bc},
        { 0x110be, 0x110c2},
        { 0x110d0, 0x110e8},
        { 0x110f0, 0x110f9},
        { 0x11100, 0x11134},
        { 0x11136, 0x11147},
        { 0x11150, 0x11176},
        { 0x11180, 0x111df},
        { 0x111e1, 0x111f4},
        { 0x11200, 0x11211},
        { 0x11213, 0x11241},
        { 0x11280, 0x11286},
        { 0x11288, 0x11288},
        { 0x1128a, 0x1128d},
        { 0x1128f, 0x1129d},
        { 0x1129f, 0x112a9},
        { 0x112b0, 0x112ea},
        { 0x112f0, 0x112f9},
        { 0x11300, 0x11303},
        { 0x11305, 0x1130c},
        { 0x1130f, 0x11310},
        { 0x11313, 0x11328},
        { 0x1132a, 0x11330},
        { 0x11332, 0x11333},
        { 0x11335, 0x11339},
        { 0x1133b, 0x11344},
        { 0x11347, 0x11348},
        { 0x1134b, 0x1134d},
        { 0x11350, 0x11350},
        { 0x11357, 0x11357},
        { 0x1135d, 0x11363},
        { 0x11366, 0x1136c},
        { 0x11370, 0x11374},
        { 0x11380, 0x11389},
        { 0x1138b, 0x1138b},
        { 0x1138e, 0x1138e},
        { 0x11390, 0x113b5},
        { 0x113b7, 0x113c0},
        { 0x113c2, 0x113c2},
        { 0x113c5, 0x113c5},
        { 0x113c7, 0x113ca},
        { 0x113cc, 0x113d5},
        { 0x113d7, 0x113d8},
        { 0x113e1, 0x113e2},
        { 0x11400, 0x1145b},
        { 0x1145d, 0x11461},
        { 0x11480, 0x114c7},
        { 0x114d0, 0x114d9},
        { 0x11580, 0x115b5},
        { 0x115b8, 0x115dd},
        { 0x11600, 0x11644},
        { 0x11650, 0x11659},
        { 0x11660, 0x1166c},
        { 0x11680, 0x116b9},
        { 0x116c0, 0x116c9},
        { 0x116d0, 0x116e3},
        { 0x11700, 0x1171a},
        { 0x1171d, 0x1172b},
        { 0x11730, 0x11746},
        { 0x11800, 0x1183b},
        { 0x118a0, 0x118f2},
        { 0x118ff, 0x11906},
        { 0x11909, 0x11909},
        { 0x1190c, 0x11913},
        { 0x11915, 0x11916},
        { 0x11918, 0x11935},
        { 0x11937, 0x11938},
        { 0x1193b, 0x11946},
        { 0x11950, 0x11959},
        { 0x119a0, 0x119a7},
        { 0x119aa, 0x119d7},
        { 0x119da, 0x119e4},
        { 0x11a00, 0x11a47},
        { 0x11a50, 0x11aa2},
        { 0x11ab0, 0x11af8},
        { 0x11b00, 0x11b09},
        { 0x11bc0, 0x11be1},
        { 0x11bf0, 0x11bf9},
        { 0x11c00, 0x11c08},
        { 0x11c0a, 0x11c36},
        { 0x11c38, 0x11c45},
        { 0x11c50, 0x11c6c},
        { 0x11c70, 0x11c8f},
        { 0x11c92, 0x11ca7},
        { 0x11ca9, 0x11cb6},
        { 0x11d00, 0x11d06},
        { 0x11d08, 0x11d09},
        { 0x11d0b, 0x11d36},
        { 0x11d3a, 0x11d3a},
        { 0x11d3c, 0x11d3d},
        { 0x11d3f, 0x11d47},
        { 0x11d50, 0x11d59},
        { 0x11d60, 0x11d65},
        { 0x11d67, 0x11d68},
        { 0x11d6a, 0x11d8e},
        { 0x11d90, 0x11d91},
        { 0x11d93, 0x11d98},
        { 0x11da0, 0x11da9},
        { 0x11ee0, 0x11ef8},
        { 0x11f00, 0x11f10},
        { 0x11f12, 0x11f3a},
        { 0x11f3e, 0x11f5a},
        { 0x11fb0, 0x11fb0},
        { 0x11fc0, 0x11ff1},
        { 0x11fff, 0x12399},
        { 0x12400, 0x1246e},
        { 0x12470, 0x12474},
        { 0x12480, 0x12543},
        { 0x12f90, 0x12ff2},
        { 0x13000, 0x1342f},
        { 0x13440, 0x13455},
        { 0x13460, 0x143fa},
        { 0x14400, 0x14646},
        { 0x16100, 0x16139},
        { 0x16800, 0x16a38},
        { 0x16a40, 0x16a5e},
        { 0x16a60, 0x16a69},
        { 0x16a6e, 0x16abe},
        { 0x16ac0, 0x16ac9},
        { 0x16ad0, 0x16aed},
        { 0x16af0, 0x16af5},
        { 0x16b00, 0x16b45},
        { 0x16b50, 0x16b59},
        { 0x16b5b, 0x16b61},
        { 0x16b63, 0x16b77},
        { 0x16b7d, 0x16b8f},
        { 0x16d40, 0x16d79},
        { 0x16e40, 0x16e9a},
        { 0x16f00, 0x16f4a},
        { 0x16f4f, 0x16f87},
        { 0x16f8f, 0x16f9f},
        { 0x16fe0, 0x16fe4},
        { 0x16ff0, 0x16ff1},
        { 0x17000, 0x187f7},
        { 0x18800, 0x18cd5},
        { 0x18cff, 0x18d08},
        { 0x1aff0, 0x1aff3},
        { 0x1aff5, 0x1affb},
        { 0x1affd, 0x1affe},
        { 0x1b000, 0x1b122},
        { 0x1b132, 0x1b132},
        { 0x1b150, 0x1b152},
        { 0x1b155, 0x1b155},
        { 0x1b164, 0x1b167},
        { 0x1b170, 0x1b2fb},
        { 0x1bc00, 0x1bc6a},
        { 0x1bc70, 0x1bc7c},
        { 0x1bc80, 0x1bc88},
        { 0x1bc90, 0x1bc99},
        { 0x1bc9c, 0x1bc9f},
        { 0x1cc00, 0x1ccf9},
        { 0x1cd00, 0x1ceb3},
        { 0x1cf00, 0x1cf2d},
        { 0x1cf30, 0x1cf46},
        { 0x1cf50, 0x1cfc3},
        { 0x1d000, 0x1d0f5},
        { 0x1d100, 0x1d126},
        { 0x1d129, 0x1d172},
        { 0x1d17b, 0x1d1ea},
        { 0x1d200, 0x1d245},
        { 0x1d2c0, 0x1d2d3},
        { 0x1d2e0, 0x1d2f3},
        { 0x1d300, 0x1d356},
        { 0x1d360, 0x1d378},
        { 0x1d400, 0x1d454},
        { 0x1d456, 0x1d49c},
        { 0x1d49e, 0x1d49f},
        { 0x1d4a2, 0x1d4a2},
        { 0x1d4a5, 0x1d4a6},
        { 0x1d4a9, 0x1d4ac},
        { 0x1d4ae, 0x1d4b9},
        { 0x1d4bb, 0x1d4bb},
        { 0x1d4bd, 0x1d4c3},
        { 0x1d4c5, 0x1d505},
        { 0x1d507, 0x1d50a},
        { 0x1d50d, 0x1d514},
        { 0x1d516, 0x1d51c},
        { 0x1d51e, 0x1d539},
        { 0x1d53b, 0x1d53e},
        { 0x1d540, 0x1d544},
        { 0x1d546, 0x1d546},
        { 0x1d54a, 0x1d550},
        { 0x1d552, 0x1d6a5},
        { 0x1d6a8, 0x1d7cb},
        { 0x1d7ce, 0x1da8b},
        { 0x1da9b, 0x1da9f},
        { 0x1daa1, 0x1daaf},
        { 0x1df00, 0x1df1e},
        { 0x1df25, 0x1df2a},
        { 0x1e000, 0x1e006},
        { 0x1e008, 0x1e018},
        { 0x1e01b, 0x1e021},
        { 0x1e023, 0x1e024},
        { 0x1e026, 0x1e02a},
        { 0x1e030, 0x1e06d},
        { 0x1e08f, 0x1e08f},
        { 0x1e100, 0x1e12c},
        { 0x1e130, 0x1e13d},
        { 0x1e140, 0x1e149},
        { 0x1e14e, 0x1e14f},
        { 0x1e290, 0x1e2ae},
        { 0x1e2c0, 0x1e2f9},
        { 0x1e2ff, 0x1e2ff},
        { 0x1e4d0, 0x1e4f9},
        { 0x1e5d0, 0x1e5fa},
        { 0x1e5ff, 0x1e5ff},
        { 0x1e7e0, 0x1e7e6},
        { 0x1e7e8, 0x1e7eb},
        { 0x1e7ed, 0x1e7ee},
        { 0x1e7f0, 0x1e7fe},
        { 0x1e800, 0x1e8c4},
        { 0x1e8c7, 0x1e8d6},
        { 0x1e900, 0x1e94b},
        { 0x1e950, 0x1e959},
        { 0x1e95e, 0x1e95f},
        { 0x1ec71, 0x1ecb4},
        { 0x1ed01, 0x1ed3d},
        { 0x1ee00, 0x1ee03},
        { 0x1ee05, 0x1ee1f},
        { 0x1ee21, 0x1ee22},
        { 0x1ee24, 0x1ee24},
        { 0x1ee27, 0x1ee27},
        { 0x1ee29, 0x1ee32},
        { 0x1ee34, 0x1ee37},
        { 0x1ee39, 0x1ee39},
        { 0x1ee3b, 0x1ee3b},
        { 0x1ee42, 0x1ee42},
        { 0x1ee47, 0x1ee47},
        { 0x1ee49, 0x1ee49},
        { 0x1ee4b, 0x1ee4b},
        { 0x1ee4d, 0x1ee4f},
        { 0x1ee51, 0x1ee52},
        { 0x1ee54, 0x1ee54},
        { 0x1ee57, 0x1ee57},
        { 0x1ee59, 0x1ee59},
        { 0x1ee5b, 0x1ee5b},
        { 0x1ee5d, 0x1ee5d},
        { 0x1ee5f, 0x1ee5f},
        { 0x1ee61, 0x1ee62},
        { 0x1ee64, 0x1ee64},
        { 0x1ee67, 0x1ee6a},
        { 0x1ee6c, 0x1ee72},
        { 0x1ee74, 0x1ee77},
        { 0x1ee79, 0x1ee7c},
        { 0x1ee7e, 0x1ee7e},
        { 0x1ee80, 0x1ee89},
        { 0x1ee8b, 0x1ee9b},
        { 0x1eea1, 0x1eea3},
        { 0x1eea5, 0x1eea9},
        { 0x1eeab, 0x1eebb},
        { 0x1eef0, 0x1eef1},
        { 0x1f000, 0x1f02b},
        { 0x1f030, 0x1f093},
        { 0x1f0a0, 0x1f0ae},
        { 0x1f0b1, 0x1f0bf},
        { 0x1f0c1, 0x1f0cf},
        { 0x1f0d1, 0x1f0f5},
        { 0x1f100, 0x1f1ad},
        { 0x1f1e6, 0x1f202},
        { 0x1f210, 0x1f23b},
        { 0x1f240, 0x1f248},
        { 0x1f250, 0x1f251},
        { 0x1f260, 0x1f265},
        { 0x1f300, 0x1f6d7},
        { 0x1f6dc, 0x1f6ec},
        { 0x1f6f0, 0x1f6fc},
        { 0x1f700, 0x1f776},
        { 0x1f77b, 0x1f7d9},
        { 0x1f7e0, 0x1f7eb},
        { 0x1f7f0, 0x1f7f0},
        { 0x1f800, 0x1f80b},
        { 0x1f810, 0x1f847},
        { 0x1f850, 0x1f859},
        { 0x1f860, 0x1f887},
        { 0x1f890, 0x1f8ad},
        { 0x1f8b0, 0x1f8bb},
        { 0x1f8c0, 0x1f8c1},
        { 0x1f900, 0x1fa53},
        { 0x1fa60, 0x1fa6d},
        { 0x1fa70, 0x1fa7c},
        { 0x1fa80, 0x1fa89},
        { 0x1fa8f, 0x1fac6},
        { 0x1face, 0x1fadc},
        { 0x1fadf, 0x1fae9},
        { 0x1faf0, 0x1faf8},
        { 0x1fb00, 0x1fb92},
        { 0x1fb94, 0x1fbf9},
        { 0x20000, 0x2a6df},
        { 0x2a700, 0x2b739},
        { 0x2b740, 0x2b81d},
        { 0x2b820, 0x2cea1},
        { 0x2ceb0, 0x2ebe0},
        { 0x2ebf0, 0x2ee5d},
        { 0x2f800, 0x2fa1d},
        { 0x30000, 0x3134a},
        { 0x31350, 0x323af},
        { 0xe0100, 0xe01ef}
};


const int FormatterUnicodeData::s_printableRangeCount =
    sizeof(s_printableRanges) / sizeof(BooleanRange);


// DerivedCoreProperties-16.0.0.txt
// Date: 2024-05-31, 18:09:32 GMT
const FormatterUnicodeData::BooleanRange
    FormatterUnicodeData::s_graphemeExtendRanges[] = {
        {   0x300,   0x36f},
        {   0x483,   0x489},
        {   0x591,   0x5bd},
        {   0x5bf,   0x5bf},
        {   0x5c1,   0x5c2},
        {   0x5c4,   0x5c5},
        {   0x5c7,   0x5c7},
        {   0x610,   0x61a},
        {   0x64b,   0x65f},
        {   0x670,   0x670},
        {   0x6d6,   0x6dc},
        {   0x6df,   0x6e4},
        {   0x6e7,   0x6e8},
        {   0x6ea,   0x6ed},
        {   0x711,   0x711},
        {   0x730,   0x74a},
        {   0x7a6,   0x7b0},
        {   0x7eb,   0x7f3},
        {   0x7fd,   0x7fd},
        {   0x816,   0x819},
        {   0x81b,   0x823},
        {   0x825,   0x827},
        {   0x829,   0x82d},
        {   0x859,   0x85b},
        {   0x897,   0x89f},
        {   0x8ca,   0x8e1},
        {   0x8e3,   0x902},
        {   0x93a,   0x93a},
        {   0x93c,   0x93c},
        {   0x941,   0x948},
        {   0x94d,   0x94d},
        {   0x951,   0x957},
        {   0x962,   0x963},
        {   0x981,   0x981},
        {   0x9bc,   0x9bc},
        {   0x9be,   0x9be},
        {   0x9c1,   0x9c4},
        {   0x9cd,   0x9cd},
        {   0x9d7,   0x9d7},
        {   0x9e2,   0x9e3},
        {   0x9fe,   0x9fe},
        {   0xa01,   0xa02},
        {   0xa3c,   0xa3c},
        {   0xa41,   0xa42},
        {   0xa47,   0xa48},
        {   0xa4b,   0xa4d},
        {   0xa51,   0xa51},
        {   0xa70,   0xa71},
        {   0xa75,   0xa75},
        {   0xa81,   0xa82},
        {   0xabc,   0xabc},
        {   0xac1,   0xac5},
        {   0xac7,   0xac8},
        {   0xacd,   0xacd},
        {   0xae2,   0xae3},
        {   0xafa,   0xaff},
        {   0xb01,   0xb01},
        {   0xb3c,   0xb3c},
        {   0xb3e,   0xb3f},
        {   0xb41,   0xb44},
        {   0xb4d,   0xb4d},
        {   0xb55,   0xb57},
        {   0xb62,   0xb63},
        {   0xb82,   0xb82},
        {   0xbbe,   0xbbe},
        {   0xbc0,   0xbc0},
        {   0xbcd,   0xbcd},
        {   0xbd7,   0xbd7},
        {   0xc00,   0xc00},
        {   0xc04,   0xc04},
        {   0xc3c,   0xc3c},
        {   0xc3e,   0xc40},
        {   0xc46,   0xc48},
        {   0xc4a,   0xc4d},
        {   0xc55,   0xc56},
        {   0xc62,   0xc63},
        {   0xc81,   0xc81},
        {   0xcbc,   0xcbc},
        {   0xcbf,   0xcc0},
        {   0xcc2,   0xcc2},
        {   0xcc6,   0xcc8},
        {   0xcca,   0xccd},
        {   0xcd5,   0xcd6},
        {   0xce2,   0xce3},
        {   0xd00,   0xd01},
        {   0xd3b,   0xd3c},
        {   0xd3e,   0xd3e},
        {   0xd41,   0xd44},
        {   0xd4d,   0xd4d},
        {   0xd57,   0xd57},
        {   0xd62,   0xd63},
        {   0xd81,   0xd81},
        {   0xdca,   0xdca},
        {   0xdcf,   0xdcf},
        {   0xdd2,   0xdd4},
        {   0xdd6,   0xdd6},
        {   0xddf,   0xddf},
        {   0xe31,   0xe31},
        {   0xe34,   0xe3a},
        {   0xe47,   0xe4e},
        {   0xeb1,   0xeb1},
        {   0xeb4,   0xebc},
        {   0xec8,   0xece},
        {   0xf18,   0xf19},
        {   0xf35,   0xf35},
        {   0xf37,   0xf37},
        {   0xf39,   0xf39},
        {   0xf71,   0xf7e},
        {   0xf80,   0xf84},
        {   0xf86,   0xf87},
        {   0xf8d,   0xf97},
        {   0xf99,   0xfbc},
        {   0xfc6,   0xfc6},
        {  0x102d,  0x1030},
        {  0x1032,  0x1037},
        {  0x1039,  0x103a},
        {  0x103d,  0x103e},
        {  0x1058,  0x1059},
        {  0x105e,  0x1060},
        {  0x1071,  0x1074},
        {  0x1082,  0x1082},
        {  0x1085,  0x1086},
        {  0x108d,  0x108d},
        {  0x109d,  0x109d},
        {  0x135d,  0x135f},
        {  0x1712,  0x1715},
        {  0x1732,  0x1734},
        {  0x1752,  0x1753},
        {  0x1772,  0x1773},
        {  0x17b4,  0x17b5},
        {  0x17b7,  0x17bd},
        {  0x17c6,  0x17c6},
        {  0x17c9,  0x17d3},
        {  0x17dd,  0x17dd},
        {  0x180b,  0x180d},
        {  0x180f,  0x180f},
        {  0x1885,  0x1886},
        {  0x18a9,  0x18a9},
        {  0x1920,  0x1922},
        {  0x1927,  0x1928},
        {  0x1932,  0x1932},
        {  0x1939,  0x193b},
        {  0x1a17,  0x1a18},
        {  0x1a1b,  0x1a1b},
        {  0x1a56,  0x1a56},
        {  0x1a58,  0x1a5e},
        {  0x1a60,  0x1a60},
        {  0x1a62,  0x1a62},
        {  0x1a65,  0x1a6c},
        {  0x1a73,  0x1a7c},
        {  0x1a7f,  0x1a7f},
        {  0x1ab0,  0x1ace},
        {  0x1b00,  0x1b03},
        {  0x1b34,  0x1b3d},
        {  0x1b42,  0x1b44},
        {  0x1b6b,  0x1b73},
        {  0x1b80,  0x1b81},
        {  0x1ba2,  0x1ba5},
        {  0x1ba8,  0x1bad},
        {  0x1be6,  0x1be6},
        {  0x1be8,  0x1be9},
        {  0x1bed,  0x1bed},
        {  0x1bef,  0x1bf3},
        {  0x1c2c,  0x1c33},
        {  0x1c36,  0x1c37},
        {  0x1cd0,  0x1cd2},
        {  0x1cd4,  0x1ce0},
        {  0x1ce2,  0x1ce8},
        {  0x1ced,  0x1ced},
        {  0x1cf4,  0x1cf4},
        {  0x1cf8,  0x1cf9},
        {  0x1dc0,  0x1dff},
        {  0x200c,  0x200c},
        {  0x20d0,  0x20f0},
        {  0x2cef,  0x2cf1},
        {  0x2d7f,  0x2d7f},
        {  0x2de0,  0x2dff},
        {  0x302a,  0x302f},
        {  0x3099,  0x309a},
        {  0xa66f,  0xa672},
        {  0xa674,  0xa67d},
        {  0xa69e,  0xa69f},
        {  0xa6f0,  0xa6f1},
        {  0xa802,  0xa802},
        {  0xa806,  0xa806},
        {  0xa80b,  0xa80b},
        {  0xa825,  0xa826},
        {  0xa82c,  0xa82c},
        {  0xa8c4,  0xa8c5},
        {  0xa8e0,  0xa8f1},
        {  0xa8ff,  0xa8ff},
        {  0xa926,  0xa92d},
        {  0xa947,  0xa951},
        {  0xa953,  0xa953},
        {  0xa980,  0xa982},
        {  0xa9b3,  0xa9b3},
        {  0xa9b6,  0xa9b9},
        {  0xa9bc,  0xa9bd},
        {  0xa9c0,  0xa9c0},
        {  0xa9e5,  0xa9e5},
        {  0xaa29,  0xaa2e},
        {  0xaa31,  0xaa32},
        {  0xaa35,  0xaa36},
        {  0xaa43,  0xaa43},
        {  0xaa4c,  0xaa4c},
        {  0xaa7c,  0xaa7c},
        {  0xaab0,  0xaab0},
        {  0xaab2,  0xaab4},
        {  0xaab7,  0xaab8},
        {  0xaabe,  0xaabf},
        {  0xaac1,  0xaac1},
        {  0xaaec,  0xaaed},
        {  0xaaf6,  0xaaf6},
        {  0xabe5,  0xabe5},
        {  0xabe8,  0xabe8},
        {  0xabed,  0xabed},
        {  0xfb1e,  0xfb1e},
        {  0xfe00,  0xfe0f},
        {  0xfe20,  0xfe2f},
        {  0xff9e,  0xff9f},
        { 0x101fd, 0x101fd},
        { 0x102e0, 0x102e0},
        { 0x10376, 0x1037a},
        { 0x10a01, 0x10a03},
        { 0x10a05, 0x10a06},
        { 0x10a0c, 0x10a0f},
        { 0x10a38, 0x10a3a},
        { 0x10a3f, 0x10a3f},
        { 0x10ae5, 0x10ae6},
        { 0x10d24, 0x10d27},
        { 0x10d69, 0x10d6d},
        { 0x10eab, 0x10eac},
        { 0x10efc, 0x10eff},
        { 0x10f46, 0x10f50},
        { 0x10f82, 0x10f85},
        { 0x11001, 0x11001},
        { 0x11038, 0x11046},
        { 0x11070, 0x11070},
        { 0x11073, 0x11074},
        { 0x1107f, 0x11081},
        { 0x110b3, 0x110b6},
        { 0x110b9, 0x110ba},
        { 0x110c2, 0x110c2},
        { 0x11100, 0x11102},
        { 0x11127, 0x1112b},
        { 0x1112d, 0x11134},
        { 0x11173, 0x11173},
        { 0x11180, 0x11181},
        { 0x111b6, 0x111be},
        { 0x111c0, 0x111c0},
        { 0x111c9, 0x111cc},
        { 0x111cf, 0x111cf},
        { 0x1122f, 0x11231},
        { 0x11234, 0x11237},
        { 0x1123e, 0x1123e},
        { 0x11241, 0x11241},
        { 0x112df, 0x112df},
        { 0x112e3, 0x112ea},
        { 0x11300, 0x11301},
        { 0x1133b, 0x1133c},
        { 0x1133e, 0x1133e},
        { 0x11340, 0x11340},
        { 0x1134d, 0x1134d},
        { 0x11357, 0x11357},
        { 0x11366, 0x1136c},
        { 0x11370, 0x11374},
        { 0x113b8, 0x113b8},
        { 0x113bb, 0x113c0},
        { 0x113c2, 0x113c2},
        { 0x113c5, 0x113c5},
        { 0x113c7, 0x113c9},
        { 0x113ce, 0x113d0},
        { 0x113d2, 0x113d2},
        { 0x113e1, 0x113e2},
        { 0x11438, 0x1143f},
        { 0x11442, 0x11444},
        { 0x11446, 0x11446},
        { 0x1145e, 0x1145e},
        { 0x114b0, 0x114b0},
        { 0x114b3, 0x114b8},
        { 0x114ba, 0x114ba},
        { 0x114bd, 0x114bd},
        { 0x114bf, 0x114c0},
        { 0x114c2, 0x114c3},
        { 0x115af, 0x115af},
        { 0x115b2, 0x115b5},
        { 0x115bc, 0x115bd},
        { 0x115bf, 0x115c0},
        { 0x115dc, 0x115dd},
        { 0x11633, 0x1163a},
        { 0x1163d, 0x1163d},
        { 0x1163f, 0x11640},
        { 0x116ab, 0x116ab},
        { 0x116ad, 0x116ad},
        { 0x116b0, 0x116b7},
        { 0x1171d, 0x1171d},
        { 0x1171f, 0x1171f},
        { 0x11722, 0x11725},
        { 0x11727, 0x1172b},
        { 0x1182f, 0x11837},
        { 0x11839, 0x1183a},
        { 0x11930, 0x11930},
        { 0x1193b, 0x1193e},
        { 0x11943, 0x11943},
        { 0x119d4, 0x119d7},
        { 0x119da, 0x119db},
        { 0x119e0, 0x119e0},
        { 0x11a01, 0x11a0a},
        { 0x11a33, 0x11a38},
        { 0x11a3b, 0x11a3e},
        { 0x11a47, 0x11a47},
        { 0x11a51, 0x11a56},
        { 0x11a59, 0x11a5b},
        { 0x11a8a, 0x11a96},
        { 0x11a98, 0x11a99},
        { 0x11c30, 0x11c36},
        { 0x11c38, 0x11c3d},
        { 0x11c3f, 0x11c3f},
        { 0x11c92, 0x11ca7},
        { 0x11caa, 0x11cb0},
        { 0x11cb2, 0x11cb3},
        { 0x11cb5, 0x11cb6},
        { 0x11d31, 0x11d36},
        { 0x11d3a, 0x11d3a},
        { 0x11d3c, 0x11d3d},
        { 0x11d3f, 0x11d45},
        { 0x11d47, 0x11d47},
        { 0x11d90, 0x11d91},
        { 0x11d95, 0x11d95},
        { 0x11d97, 0x11d97},
        { 0x11ef3, 0x11ef4},
        { 0x11f00, 0x11f01},
        { 0x11f36, 0x11f3a},
        { 0x11f40, 0x11f42},
        { 0x11f5a, 0x11f5a},
        { 0x13440, 0x13440},
        { 0x13447, 0x13455},
        { 0x1611e, 0x16129},
        { 0x1612d, 0x1612f},
        { 0x16af0, 0x16af4},
        { 0x16b30, 0x16b36},
        { 0x16f4f, 0x16f4f},
        { 0x16f8f, 0x16f92},
        { 0x16fe4, 0x16fe4},
        { 0x16ff0, 0x16ff1},
        { 0x1bc9d, 0x1bc9e},
        { 0x1cf00, 0x1cf2d},
        { 0x1cf30, 0x1cf46},
        { 0x1d165, 0x1d169},
        { 0x1d16d, 0x1d172},
        { 0x1d17b, 0x1d182},
        { 0x1d185, 0x1d18b},
        { 0x1d1aa, 0x1d1ad},
        { 0x1d242, 0x1d244},
        { 0x1da00, 0x1da36},
        { 0x1da3b, 0x1da6c},
        { 0x1da75, 0x1da75},
        { 0x1da84, 0x1da84},
        { 0x1da9b, 0x1da9f},
        { 0x1daa1, 0x1daaf},
        { 0x1e000, 0x1e006},
        { 0x1e008, 0x1e018},
        { 0x1e01b, 0x1e021},
        { 0x1e023, 0x1e024},
        { 0x1e026, 0x1e02a},
        { 0x1e08f, 0x1e08f},
        { 0x1e130, 0x1e136},
        { 0x1e2ae, 0x1e2ae},
        { 0x1e2ec, 0x1e2ef},
        { 0x1e4ec, 0x1e4ef},
        { 0x1e5ee, 0x1e5ef},
        { 0x1e8d0, 0x1e8d6},
        { 0x1e944, 0x1e94a},
        { 0xe0020, 0xe007f},
        { 0xe0100, 0xe01ef}
};


const int FormatterUnicodeData::s_graphemeExtendRangeCount =
    sizeof(s_graphemeExtendRanges) / sizeof(BooleanRange);


// EastAsianWidth-16.0.0.txt
// Date: 2024-04-30, 21:48:20 GMT
const FormatterUnicodeData::BooleanRange
    FormatterUnicodeData::s_doubleFieldWidthRanges[] = {
        {  0x1100,  0x115f},
        {  0x231a,  0x231b},
        {  0x2329,  0x232a},
        {  0x23e9,  0x23ec},
        {  0x23f0,  0x23f0},
        {  0x23f3,  0x23f3},
        {  0x25fd,  0x25fe},
        {  0x2614,  0x2615},
        {  0x2630,  0x2637},
        {  0x2648,  0x2653},
        {  0x267f,  0x267f},
        {  0x268a,  0x268f},
        {  0x2693,  0x2693},
        {  0x26a1,  0x26a1},
        {  0x26aa,  0x26ab},
        {  0x26bd,  0x26be},
        {  0x26c4,  0x26c5},
        {  0x26ce,  0x26ce},
        {  0x26d4,  0x26d4},
        {  0x26ea,  0x26ea},
        {  0x26f2,  0x26f3},
        {  0x26f5,  0x26f5},
        {  0x26fa,  0x26fa},
        {  0x26fd,  0x26fd},
        {  0x2705,  0x2705},
        {  0x270a,  0x270b},
        {  0x2728,  0x2728},
        {  0x274c,  0x274c},
        {  0x274e,  0x274e},
        {  0x2753,  0x2755},
        {  0x2757,  0x2757},
        {  0x2795,  0x2797},
        {  0x27b0,  0x27b0},
        {  0x27bf,  0x27bf},
        {  0x2b1b,  0x2b1c},
        {  0x2b50,  0x2b50},
        {  0x2b55,  0x2b55},
        {  0x2e80,  0x2e99},
        {  0x2e9b,  0x2ef3},
        {  0x2f00,  0x2fd5},
        {  0x2ff0,  0x303e},
        {  0x3041,  0x3096},
        {  0x3099,  0x30ff},
        {  0x3105,  0x312f},
        {  0x3131,  0x318e},
        {  0x3190,  0x31e5},
        {  0x31ef,  0x321e},
        {  0x3220,  0x3247},
        {  0x3250,  0xa48c},
        {  0xa490,  0xa4c6},
        {  0xa960,  0xa97c},
        {  0xac00,  0xd7a3},
        {  0xf900,  0xfaff},
        {  0xfe10,  0xfe19},
        {  0xfe30,  0xfe52},
        {  0xfe54,  0xfe66},
        {  0xfe68,  0xfe6b},
        {  0xff01,  0xff60},
        {  0xffe0,  0xffe6},
        { 0x16fe0, 0x16fe4},
        { 0x16ff0, 0x16ff1},
        { 0x17000, 0x187f7},
        { 0x18800, 0x18cd5},
        { 0x18cff, 0x18d08},
        { 0x1aff0, 0x1aff3},
        { 0x1aff5, 0x1affb},
        { 0x1affd, 0x1affe},
        { 0x1b000, 0x1b122},
        { 0x1b132, 0x1b132},
        { 0x1b150, 0x1b152},
        { 0x1b155, 0x1b155},
        { 0x1b164, 0x1b167},
        { 0x1b170, 0x1b2fb},
        { 0x1d300, 0x1d356},
        { 0x1d360, 0x1d376},
        { 0x1f004, 0x1f004},
        { 0x1f0cf, 0x1f0cf},
        { 0x1f18e, 0x1f18e},
        { 0x1f191, 0x1f19a},
        { 0x1f200, 0x1f202},
        { 0x1f210, 0x1f23b},
        { 0x1f240, 0x1f248},
        { 0x1f250, 0x1f251},
        { 0x1f260, 0x1f265},
        { 0x1f300, 0x1f64f},
        { 0x1f680, 0x1f6c5},
        { 0x1f6cc, 0x1f6cc},
        { 0x1f6d0, 0x1f6d2},
        { 0x1f6d5, 0x1f6d7},
        { 0x1f6dc, 0x1f6df},
        { 0x1f6eb, 0x1f6ec},
        { 0x1f6f4, 0x1f6fc},
        { 0x1f7e0, 0x1f7eb},
        { 0x1f7f0, 0x1f7f0},
        { 0x1f900, 0x1f9ff},
        { 0x1fa70, 0x1fa7c},
        { 0x1fa80, 0x1fa89},
        { 0x1fa8f, 0x1fac6},
        { 0x1face, 0x1fadc},
        { 0x1fadf, 0x1fae9},
        { 0x1faf0, 0x1faf8},
        { 0x20000, 0x2fffd},
        { 0x30000, 0x3fffd}
};


const int FormatterUnicodeData::s_doubleFieldWidthRangeCount =
    sizeof(s_doubleFieldWidthRanges) / sizeof(BooleanRange);


}  // close package namespace
}  // close enterprise namespace

// ----------------------------------------------------------------------------
//
// The data herein is generated from Unicode Data Files which are
// Copyright 1991-2024 Unicode, Inc. and subject to the
// following license agreement:
//
// UNICODE, INC. LICENSE AGREEMENT V3 - DATA FILES AND SOFTWARE
//
// See Terms of Use <https://www.unicode.org/copyright.html>
// for definitions of Unicode Inc.'s Data Files and Software.
//
// Disclaimer
//
// The Unicode Character Database is provided as is by Unicode, Inc. No
// claims are made as to fitness for any particular purpose. No warranties
// of any kind are expressed or implied. The recipient agrees to determine
// applicability of information provided. If this file has been purchased
// on magnetic or optical media from Unicode, Inc., the sole remedy for any
// claim will be exchange of defective media within 90 days of receipt.
//
// This disclaimer is applicable for all other data files accompanying the
// Unicode Character Database, some of which have been compiled by the
// Unicode Consortium, and some of which have been supplied by other sources.
//
// Limitations on Rights to Redistribute This Data
//
// Recipient is granted the right to make copies in any form for internal
// distribution and to freely use the information supplied in the creation
// of products supporting the UnicodeTM Standard. The files in the Unicode
// Character Database can be redistributed to third parties or other
// organizations (whether for profit or not) as long as this notice and the
// disclaimer notice are retained. Information can be extracted from these
// files and used in documentation or programs, as long as there is an
// accompanying notice indicating the source.
//
// ----------------------------------------------------------------------------
// Copyright 2024 Bloomberg Finance L.P.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// ----------------------------- END-OF-FILE ----------------------------------

